卸载旧版本的Ruby gem

邮差的信 提交于 2020-02-26 15:40:47

我有几个版本的Ruby gem:

$ gem list
rjb (1.3.4, 1.3.3, 1.1.9)

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


#1楼

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

 gem cleanup --dryrun

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

 gem cleanup

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


#2楼

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

sudo gem cleanup

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

sudo gem cleanup -d

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

sudo gem cleanup gemname

仅删除特定版本,如1.1.9

gem uninstall gemname --version 1.1.9

如果您仍然面临一些安装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

有关详细信息:

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


#3楼

您可能需要设置GEM_HOME以使清理工作。 您可以通过运行来检查gemfiles存在哪些路径:

gem env

记下GEM PATHS部分。

在我的情况下,例如,在我的用户家中安装了gem:

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

#4楼

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

#5楼

尝试类似gem uninstall rjb --version 1.3.4

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!