RVM:卸载 gemset 的所有 gem
Posted
技术标签:
【中文标题】RVM:卸载 gemset 的所有 gem【英文标题】:RVM: Uninstalling all gems of a gemset 【发布时间】:2011-06-09 06:29:37 【问题描述】:我有全球宝石和各种宝石。我想删除宝石组的所有宝石。除了卸载 gemset 之外,还有其他方法吗?
【问题讨论】:
【参考方案1】:这是卸载 gemset 中所有 gem 最安全的方法
第 1 步
如果你的 gem 版本低于 2.1。
gem update --system
gem --version
第 2 步
gem uninstall --all
references
【讨论】:
【参考方案2】:你也可以使用rvm --force gemset empty
【讨论】:
【参考方案3】:rvm gemset empty <gemset>
有效,但前提是您指定了 gemset 名称。
如果要清空 default gemset,则需要为 gemset 名称传递一个空字符串。
rvm gemset empty mygems ""
【讨论】:
【参考方案4】:rvm gemset empty <gemset name>
这将从您提到的宝石集中移除所有宝石。
【讨论】:
【参考方案5】:使用gemset empty
命令:
rvm gemset empty mygems
【讨论】:
您需要指定要清空的 gemset。仅仅“rvm 使用 [gemset_name]”是不够的。您需要“rvm gemset empty [gemset_name]”。 我想如果您有很多 gem,可能需要一段时间才能将它们全部卸载。 顺便说一句,现在我可以运行rvm gemset empty
并清除当前的 gemset。【参考方案6】:
此命令会在 1 步中删除本地安装的所有 ruby gem 在 Ubuntu 10.10 中运行良好
gem list | cut -d" " -f1 | xargs gem uninstall -aIx
PS - 移除所有本地宝石。相应地使用 sudo。
【讨论】:
gem 还有一个 --no-versions 标志,这很好:gem list --no-versions | xargs gem uninstall -aIx
【参考方案7】:
从 gemset 中删除所有 gem 与删除 gemset 然后将其添加回本质上不是相同的操作吗?为什么不这样做:
$ rvm gemset mygemset
$ rvm gemset delete mygemset
$ rvm gemset create mygemset
【讨论】:
是的,本质上是一样的。但我想知道是否有办法在不删除 gemset 的情况下做到这一点。当您删除 gemset 时,这些 gem 是否也被删除了,还是保存到了缓存中? 我很确定它们已被完全删除。例如,我有一个名为jruby-1.5.6@radiant
的 gemset。所有的宝石都在这里:/Users/dparoulek/.rvm/gems/jruby-1.5.6@radiant
。当我执行rvm gemset radiant
时,它会警告您确认,然后删除整个/Users/dparoulek/.rvm/gems/jruby-1.5.6@radiant
目录。
我猜这差不多。我一直在寻找替代方案,因为我想从全局 gemset 中删除所有 gem,这样我就可以阻止新 gemset 从全局 gemset 中“继承” gem。以上是关于RVM:卸载 gemset 的所有 gem的主要内容,如果未能解决你的问题,请参考以下文章
使用 Bundler 时,为啥要关心 RVM 的 Gemset 功能?
如何使用不同版本的 ruby 但使用相同的 gemset?
使用 rvmrc 或 ruby-version 文件使用 RVM 设置项目 gemset?