卸载旧版本的Ruby gem

Phi*_*ayo 360 ruby gem

我有几个版本的Ruby gem:

$ gem list
rjb (1.3.4, 1.3.3, 1.1.9)
Run Code Online (Sandbox Code Playgroud)

如何删除旧版本但保留最新版本?

Dyl*_*kow 623

# 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'
Run Code Online (Sandbox Code Playgroud)


ohh*_*hho 248

要删除所有已安装gem的旧版本,请遵循以下两个命令:

 gem cleanup --dryrun
Run Code Online (Sandbox Code Playgroud)

上面的命令将预览要删除的宝石.

 gem cleanup
Run Code Online (Sandbox Code Playgroud)

上面的命令实际上将删除它们.

  • 在我的 ubuntu cloud9 设置中不起作用...必须使用 sudo 运行 (3认同)
  • 从 gem 的当前版本 3.2.15 开始,我收到以下消息。`--dryrun` 选项已被弃用,并将在 Rubygems 的未来版本中删除。使用 `--dry-run` 代替 (3认同)

Dan*_*ara 13

尝试类似的东西gem uninstall rjb --version 1.3.4.


use*_*220 10

清除任何旧版宝石的方法.

sudo gem cleanup
Run Code Online (Sandbox Code Playgroud)

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

sudo gem cleanup -d
Run Code Online (Sandbox Code Playgroud)

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

sudo gem cleanup gemname
Run Code Online (Sandbox Code Playgroud)

仅删除特定版本,如1.1.9

gem uninstall gemname --version 1.1.9
Run Code Online (Sandbox Code Playgroud)

如果您仍然面临一些安装gem的异常,例如:

无效的gem:包已损坏,验证时出现异常:nil的未定义方法`size':/home/rails/.rvm/gems/ruby-2.1.1@project/cache/nokogiri-1.6.6.2中的NilClass(NoMethodError).宝石

你可以从缓存中删除它:

rm /home/rails/.rvm/gems/ruby-2.1.1@project/cache/nokogiri-1.6.6.2.gem
Run Code Online (Sandbox Code Playgroud)

有关详细信息:

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

  • 您可能不应该使用“sudo” (3认同)

Ana*_*oly 9

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

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

  • "已安装的gems只是文件系统中的目录." 很高兴知道,谢谢 (2认同)