Удалите старые версии Ruby Gems - PullRequest
346 голосов
/ 05 мая 2011

У меня есть несколько версий Ruby gem:

$ gem list
rjb (1.3.4, 1.3.3, 1.1.9)

Как удалить старые версии, но сохранить самые последние?

Ответы [ 6 ]

600 голосов
/ 05 мая 2011
# 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'
239 голосов
/ 27 апреля 2012

Для удаления более старых версий всех установленных гемов полезны следующие 2 команды:

 gem cleanup --dryrun

Выше команда будет просматривать, какие драгоценные камни будут удалены.

 gem cleanup

Указанная выше команда фактически удалит их.

12 голосов
/ 05 мая 2011

Попробуйте что-то вроде gem uninstall rjb --version 1.3.4.

9 голосов
/ 15 апреля 2015

Способ очистки любых старых версий драгоценных камней.

sudo gem cleanup

Если вы просто хотите увидеть список того, что будет удалено, вы можете использовать:

sudo gem cleanup -d

Вы также можете очистить только определенный драгоценный камень, указав его имя:

sudo gem cleanup gemname

для удаления конкретной версии, например, 1.1.9

gem uninstall gemname --version 1.1.9

Если вы все еще сталкиваетесь с каким-то исключением при установке gem, например:

неверный гем: пакет поврежден, исключение при проверке: неопределенный метод `size 'для nil: NilClass (NoMethodError) в /home/rails/.rvm/gems/ruby-2.1.1@project/cache/nokogiri-1.6 .6.2.gem

, вы можете удалить его из кеша:

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

9 голосов
/ 16 июля 2011

gem cleanup использует системные команды. Установленные гемы - это просто каталоги в файловой системе. Если вы хотите групповое удаление, используйте rm -R.

  1. gem environment и обратите внимание на значение GEM PATHS
  2. cd <your-gem-paths>/gems
  3. ls -1 |grep rjb- |xargs rm -R
0 голосов
/ 29 января 2019

Вам может потребоваться установить GEM_HOME для очистки.Вы можете проверить, какие пути существуют для gemfiles, запустив:

gem env

Обратите внимание на раздел GEM PATHS.

В моем случае, например, с гемами, установленными в моем домашнем компьютере пользователя:

export GEM_HOME="~/.gem/ruby/2.4.0"
gem cleanup
...