이전 버전의 Ruby gem 제거


381

Ruby gem의 여러 버전이 있습니다.

$ gem list
rjb (1.3.4, 1.3.3, 1.1.9)

이전 버전을 제거하고 최신 버전을 유지하려면 어떻게해야합니까?

답변:


652
# remove all old versions of the gem
gem cleanup rjb

# choose which ones you want to remove
gem uninstall rjb

# remove version 1.1.9 only
gem uninstall rjb --version 1.1.9

# remove all versions less than 1.3.4
gem uninstall rjb --version '<1.3.4'

259

설치된 모든 gem 의 이전 버전을 제거하려면 다음 두 명령이 유용합니다.

 gem cleanup --dryrun

위의 명령은 어떤 보석이 제거 될지를 미리 볼 것입니다.

 gem cleanup

위의 명령은 실제로 제거합니다.


내 우분투 cloud9 설정에서 작동하지 않습니다 ... sudo와 함께 실행해야합니다
Mirv-Matt

13

같은 것을 시도하십시오 gem uninstall rjb --version 1.3.4.


1
문제는 "이전 버전을 어떻게 제거하지만 최신 버전을 유지합니까?"였습니다. 이 응답은 최신 버전을 제거합니다.
austinheiman

10

이전 버전의 보석을 정리하는 방법.

sudo gem cleanup

제거 대상 목록을 보려면 다음을 사용할 수 있습니다.

sudo gem cleanup -d

이름을 지정하여 특정 보석 만 정리할 수도 있습니다.

sudo gem cleanup gemname

1.1.9와 같은 특정 버전 만 제거

gem uninstall gemname --version 1.1.9

gem을 설치하는 데 여전히 예외가 발생하면 다음과 같이하십시오.

잘못된 gem : 패키지가 손상되었습니다. 확인하는 동안 예외가 발생했습니다. /home/rails/.rvm/gems/ruby-2.1.1@project/cache/nokogiri-1.6.6.2의 nil : NilClass에 대한 정의되지 않은 메소드`size '(NoMethodError) 보석

캐시에서 제거 할 수 있습니다.

rm /home/rails/.rvm/gems/ruby-2.1.1@project/cache/nokogiri-1.6.6.2.gem

자세한 내용은 :

http://blog.grepruby.com/2015/04/way-to-clean-up-gem-or-remove-old.html


당신은 아마 사용해서는 안됩니다sudo
PR 화이트 헤드

8

gem cleanup시스템 명령을 사용합니다. 설치된 gem은 파일 시스템의 디렉토리 일뿐입니다. 일괄 삭제를하려면을 사용하십시오 rm -R.

  1. gem environment 그리고 가치 GEM PATHS
  2. cd <your-gem-paths>/gems
  3. ls -1 |grep rjb- |xargs rm -R

2
"설치된 gem은 파일 시스템의 디렉토리 일뿐입니다." 알아두면 좋은 점
유창한

0

GEM_HOME정리가 작동 하도록 설정해야 할 수도 있습니다 . 다음을 실행하여 gemfile에 존재하는 경로를 확인할 수 있습니다.

gem env

GEM PATHS 섹션을 참고하십시오.

예를 들어, 사용자 홈에 gem이 설치된 경우 :

export GEM_HOME="~/.gem/ruby/2.4.0"
gem cleanup
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.