卸载旧版本的Ruby gems

我有几个版本的Rubygem:

$ gem list rjb (1.3.4, 1.3.3, 1.1.9) 

我如何删除旧版本,但保持最新?

 # 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' 

要删除所有安装的gem的旧版本,以下两个命令是有用的:

  gem cleanup --dryrun 

上面的命令将预览哪些gem将被删除。

  gem cleanup 

以上命令将实际删除它们。

试试像gem uninstall rjb --version 1.3.4

gem cleanup使用系统命令。 安装的gem只是文件系统中的目录。 如果要批量删除,请使用rm -R

  1. gem environment并注意GEM PATHS的价值
  2. cd <your-gem-paths>/gems
  3. ls -1 |grep rjb- |xargs rm -R

方法来清理任何旧版本的gem。

 sudo gem cleanup 

如果您只想查看可以删除的内容列表,您可以使用:

 sudo gem cleanup -d 

您也可以通过指定名称来清除特定的gem:

 sudo gem cleanup gemname 

仅用于删除特定的版本,如1.1.9

 gem uninstall gemname --version 1.1.9 

如果你仍然面临一些例外的安装gem,如:

无效的gem:软件包已损坏,validation时出现exception:nil:NilClass(NoMethodError)的未定义方法大小为/home/rails/.rvm/gems/ruby-2.1.1@project/cache/nokogiri-1.6.6.2。gem

该,你可以从caching中删除它:

 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