卸载旧版本的 Ruby gem
Posted
技术标签:
【中文标题】卸载旧版本的 Ruby gem【英文标题】:Uninstall old versions of Ruby gems 【发布时间】:2011-08-19 15:18:17 【问题描述】:我有几个版本的 Ruby gem:
$ gem list
rjb (1.3.4, 1.3.3, 1.1.9)
如何删除旧版本但保留最新版本?
【问题讨论】:
【参考方案1】:bundler clean
在我尝试上述所有方法后的最后一步,停止为我显示消息。
【讨论】:
【参考方案2】:您可能需要设置GEM_HOME
才能进行清理。您可以通过运行检查 gemfile 的路径:
gem env
注意 GEM PATHS 部分。
例如,在我的用户主页中安装了 gems:
export GEM_HOME="~/.gem/ruby/2.4.0"
gem cleanup
【讨论】:
【参考方案3】:要删除旧版本的 所有 已安装的 gem,以下 2 个命令很有用:
gem cleanup --dryrun
上面的命令将预览要移除的宝石。
gem cleanup
上面的命令实际上会删除它们。
【讨论】:
在我的 ubuntu cloud9 设置中不起作用...必须使用 sudo 运行 从当前版本的 gem 3.2.15 开始,我收到以下消息。--dryrun
选项已被弃用,并将在 Rubygems 的未来版本中删除。请改用--dry-run
【参考方案4】:
清除任何旧版本 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:包已损坏,验证时出现异常:/home/rails/.rvm/gems/ruby-2.1.1@project/cache/nokogiri-1.6 中的 nil:NilClass (NoMethodError) 的未定义方法“大小” .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
【讨论】:
你可能不应该使用sudo
【参考方案5】:
gem cleanup
使用系统命令。已安装的 gem 只是文件系统中的目录。如果要批量删除,请使用rm -R
。
gem environment
并注意 GEM PATHS
的值
cd <your-gem-paths>/gems
ls -1 |grep rjb- |xargs rm -R
【讨论】:
"已安装的 gem 只是文件系统中的目录。"很高兴知道,谢谢【参考方案6】:# 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'
【讨论】:
【参考方案7】:试试gem uninstall rjb --version 1.3.4
。
【讨论】:
问题是“如何删除旧版本但保留最新版本?”此响应将删除最新版本。以上是关于卸载旧版本的 Ruby gem的主要内容,如果未能解决你的问题,请参考以下文章
CocoaPods的安装、使用(查找.安装) 及 CocoaPods卸载