如何使用RVM卸载除了rails之外的gemset中的所有gem?

时间:2011-08-29 08:31:17

标签: ruby-on-rails rvm

如何卸载gemset中的所有gem期望rails?

3 个答案:

答案 0 :(得分:6)

这样做是个坏主意 Rails取决于几个宝石(事实上,它本身就是几个宝石) 因此,您将删除rails的依赖项,并且将无法再运行它(并且因为rubygems很聪明,它将同时删除rails而不是依赖项。)

因此,最佳方法是删除gemset。

rvm gemset delete <your gemset>

然后重新创建并安装rails

rvm gemset create <your gemset>
gem install rails

答案 1 :(得分:0)

也许你可以使用这样的东西。 使用你的宝石     rvm使用1.9.2@gemset 然后输入此代码。

gem list | grep -v rails | awk '{print $1}' | xargs echo

它将打印安装的每个宝石。如果没问题,那么你可以用gem uninstall注释替换'echo'。我没有测试过,所以要小心。

但由于依赖性,最好卸载所有gem并再次安装rails。使用此代码,依赖性将被破坏。

答案 2 :(得分:0)

如果你进入Gemfile.lock,你可以得到Rails系统所依赖的宝石的确切列表。你必须非常小心这样做,但你应该能够删除那些没有嵌套在主Rails gem下的那些。

请注意两件事:走向这个方向可能会导致重大事情的消失。我使用3.0.3所以我不知道我的回复是否会延续到3.1甚至3.0之前的事情。

我同意其他海报,最好的方法是干净的房子,只需重新安装Rails。这不是那么痛苦。干净的rvm gemset可能是最好的方法。