[ruby] OSX에 설치된 모든 gem을 제거 하시겠습니까?

이전의 모든 gem 설치를 되돌리고 제거하려는 경우가 있습니다.

예를 들어 친구가 RVM을 사용하도록 레일 개발 시스템을 마이그레이션하도록 지원해야했습니다. 이전에 시스템 전체를 사용 했었기 때문에 gem여러 프로젝트로 작업 할 때 많은 두통이 발생했습니다. 기본적으로 그는 RVM 변환의 포스터 자식이었습니다.

OSX 시스템에서 모든 gem을 우아하게 제거하려면 어떻게해야합니까?



답변

루비 젬> = 2.1.0

gem uninstall -aIx

a모든 버전의 제거
I무시 의존성이
x실행 파일을 포함

Rubgems <2.1.0

for i in `gem list --no-versions`; do gem uninstall -aIx $i; done


답변

새로운 Gemfile을 빌드하고 실행할 수도 bundle clean --force있습니다. 새 Gemfile에 포함되지 않은 다른 모든 보석이 제거됩니다.


답변

‘–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”는 독립적 인 목록을 제공하기 때문에 원하는 것에 따라 두 가지를 모두 실행해야 할 수도 있습니다.

일반적인 “gem list”를 sudo-ed “gem uninstall”과 섞거나 다른 방법으로 사용하지 마십시오. 그렇지 않으면 sudo-installed gem (이전)이 제거되거나 많은 오류가 발생합니다 (후기).


답변

Rubygems 버전 2.1.0 이상을 사용하는 경우 다음을 시도 할 수 있습니다 gem uninstall --all..


답변

루비를 사용하여 좋아한다면 :

ruby -e "`gem list`.split(/$/).each { |line| puts `gem uninstall -Iax #{line.split(' ')[0]}` unless line.strip.empty? }"

건배