卸载旧版本的Ruby gem


Answers:


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

上面的命令实际上会删除它们。


在我的ubuntu cloud9设置中不起作用...必须与sudo一起运行
-Mirv-Matt

13

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


1
问题是“如何删除旧版本,但保留最新版本?” 此响应将删除最新版本。
austinheiman

10

清除旧版本宝石的方法。

sudo gem cleanup

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

sudo gem cleanup -d

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

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 Whitehead

8

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

  1. gem environment 并记下 GEM PATHS
  2. cd <your-gem-paths>/gems
  3. ls -1 |grep rjb- |xargs rm -R

2
“安装的gems只是文件系统中的目录。” 知道

0

您可能需要设置GEM_HOME清理才能工作。您可以通过运行以下命令检查gemfile存在哪些路径:

gem env

记下GEM PATHS部分。

以我为例,例如,在用户主目录中安装了gem:

export GEM_HOME="~/.gem/ruby/2.4.0"
gem cleanup
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.