OSX에서 설치된 모든 보석을 제거하시겠습니까?
이전의 모든 gem 설치를 되돌리고 제거하려는 경우가 있습니다.
예를 들어, 저는 친구가 RVM을 사용하기 위해 레일 개발 기계를 마이그레이션하는 것을 도와야 했습니다.그들이 이전에 시스템 전체에서 사용했던 것처럼.gem
그는 여러 프로젝트를 할 때 많은 두통을 경험했습니다.본질적으로, 그는 RVM 전환의 선구자였습니다.
어떻게 하면 그의 OSX 시스템에서 모든 보석을 우아하게 제거할 수 있습니까?
루비젬 >= 2.1.0
gem uninstall -aIx
a
모든 버전 제거
I
종속성을 무시합니다.
x
실행 파일 포함
고무 < 2.1.0
for i in `gem list --no-versions`; do gem uninstall -aIx $i; done
또한 새로운 Gem 파일을 구축하고 실행할 수 있습니다.bundle clean --force
그러면 새 Gem 파일에 포함되지 않은 다른 모든 보석이 제거됩니다.
'--no-version' 옵션을 이용하여 잘라내기 단계를 건너뛰는 가장 약간 다른 버전:
gem list --no-version |xargs gem uninstall -ax
당신이 모든 것을 제거하고 있기 때문에, 저는 'I' 옵션이 필요하지 않다고 생각합니다.보석이 제거될 때마다 괜찮아요.
먼저 Gem 버전 2.1.0 이상이 있는지 확인합니다.
gem update --system
gem --version
# 2.6.4
제거하려면 다음을 실행합니다.
gem uninstall --all
다음을 사용해야 할 수 있습니다.sudo
명령:
sudo gem uninstall --all
둘 중 하나 사용
$ gem list --no-version | xargs gem uninstall -ax
또는
$ sudo gem list --no-version | xargs sudo gem uninstall -ax
원하는 항목에 따라 "gem list"와 "sudo gem list"가 독립적인 목록을 제공하므로 둘 다 실행해야 할 수도 있습니다.
일반적인 "젬 목록"을 sudo-ed "젬 제거"와 함께 사용하지 마십시오. 그렇지 않으면 sudo에 설치된 보석(이전)을 제거하거나 많은 오류가 발생할 수 있습니다.
Rubygems 버전 2.1.0 이상을 사용하는 경우 다음을 시도할 수 있습니다.gem uninstall --all
.
루비젬 >= 2.1.0
gem uninstall -aIx
터미널이 다음 오류를 반환하는 경우
ERROR: While executing gem ... (Gem::FilePermissionError)
You don't have write permissions for the /Library/Ruby/Gems/2.0.0 directory.
그런 다음 위의 명령을 아래와 같이 작성합니다.
sudo gem uninstall -aIx
그리고 macos 계정 암호를 입력합니다. 완료!!
그리고 특정 접두사가 있는 모든 보석을 제거하고 싶어서 오신 분들은 다음과 같은 것을 실행할 수 있습니다.
gem list --no-version | grep "aws-sdk-" | xargs gem uninstall -aIx
분명히 당신의 질문을 입력하세요.aws-sdk-
당신은 그것이 필요합니다.-I
의존성을 무시하기 위해 그 안에.
안도의 이전 답변에서 채택됨
루비를 사용하여 작업하는 것이 좋다면 다음을 수행합니다.
ruby -e "`gem list`.split(/$/).each { |line| puts `gem uninstall -Iax #{line.split(' ')[0]}` unless line.strip.empty? }"
건배.
유일한 명령으로 모든 보석을 정리하고 제거할 수 없는 기본 보석을 무시할 수 있습니다.
for x in `gem list --no-versions`; do gem uninstall $x -a -x -I; done
얼마 전에도 그렇게 했습니다(동일한 포스터-하위 RVM 전환기 상황).
gem list | cut -d" " -f1 | sudo xargs gem uninstall -Iax
모든 보석 목록(포함)을 가져옵니다.버전 stuff), 이를 잘라내어 보석 이름만 유지한 다음 해당 보석의 모든 버전을 제거합니다.
그sudo
이 기능은 시스템 전체에 보석을 설치한 경우에만 유용하며, 필요한 경우를 제외하고는 포함해서는 안 됩니다.
루트로 설치된 보석을 제거하려고 할 때 기본 보석을 제거하는 동안 오류가 발생하면 xargs가 중지되는 것 같습니다.
sudo gem list | cut -d" " -f1 | xargs gem uninstall -aIx
# ERROR: While executing gem ... (Gem::InstallError)
# gem "test-unit" cannot be uninstalled because it is a default gem
모든 사용자에게 효과가 있는 것은 아니지만 대신 사용한 내용은 다음과 같습니다.
sudo for gem (`gem list | cut -d" " -f1`); do gem uninstall $gem -aIx; done
gem list --no-version | grep -v -e 'psych' -e 'rdoc' -e 'openssl' -e 'json' -e 'io-console' -e 'bigdecimal' | xargs sudo gem uninstall -ax
기본 .grepere를 제외한 것입니다.다른 모든 보석이 제거됩니다.여러분은 수있다니습도할시로로 에 올 수 .sudo
허가 문제가 발생할 경우.
언급URL : https://stackoverflow.com/questions/8095209/uninstall-all-installed-gems-in-osx
'programing' 카테고리의 다른 글
Firebase 클라우드 기능이 매우 느림 (0) | 2023.06.12 |
---|---|
.ts에서 Angular detect If 확인란이 선택되어 있습니다. (0) | 2023.06.12 |
C 및 C++의 정적 및 외부 글로벌 변수 (0) | 2023.06.12 |
이 약속이 발신자에게 다시 해결되지 않는 이유는 무엇입니까? (0) | 2023.06.12 |
데이터 프레임에서 행을 삭제하려면 어떻게 해야 합니까? (0) | 2023.06.12 |