卸载所有宝石的Ruby 2.0.0(Uninstalling all gems Ruby 2.0.0

2019-07-20 14:05发布

看来,红宝石2.0.0增加了“默认”宝石混合和宝石卸载使他们不可拆卸的。

你如何删除所有非默认的宝石?

Answer 1:

我用这一个行脚本。

for i in `gem list --no-versions`; do gem uninstall -aIx $i; done

它忽略默认宝石错误和公正进行。 简单言自明。



Answer 2:

首先,进入目录的宝石一样../ruby/2.0.0-p195/lib/ruby/gems/2.0.0/specifications
你会发现一个新的目录默认情况下 ,它包括随红宝石2.0的所有默认宝石

将所有* .gemspec存储在默认目录规范目录并删除空的默认目录。

然后,你可以做任何你想做像旧时代。:-)



Answer 3:

我在红宝石写了一个脚本来删除所有非默认的宝石。

https://gist.github.com/nixpulvis/5042764

这现在需要的,因为一些宝石被标记为“默认”的安装红宝石不像之前2.0.0,并且不能与卸载gem uninstall 。 这使得删除所有宝石不行先前流行的方法。

仅供参考这里。
gem list | cut -d" " -f1 | xargs gem uninstall



Answer 4:

我还没有找到,而不是排除“默认”宝石一个更好的答案:

/usr/local/bin/gem list --no-versions | \
grep -v -E "(bigdecimal|io-console|json|minitest|psych|rake|rdoc|test-unit)" | \
xargs --no-run-if-empty /usr/local/bin/gem uninstall --executables --user-install --all --force


文章来源: Uninstalling all gems Ruby 2.0.0