ruby 2.0.0は「デフォルト」のgemをミックスに追加し、gemのアンインストールによってそれらを削除できないようにしているようです。
デフォルト以外のすべての宝石を削除するにはどうすればよいですか?
この1行のスクリプトを使用しました。
for i in `gem list --no-versions`; do gem uninstall -aIx $i; done
デフォルトのgemエラーを無視し、続行します。シンプルで自明です。
まず、.. / ruby / 2.0.0- p195 / lib / ruby / gems / 2.0.0/specificationsのようなgemsディレクトリに移動し
ます。
デフォルトディレクトリに保存されているすべての*.gemspecを仕様ディレクトリに移動し、空のデフォルトディレクトリを削除します。
そうすれば、昔のように好きなことをすることができます。:-)
デフォルト以外のすべてのgemを削除するスクリプトをrubyで作成しました。
https://gist.github.com/nixpulvis/5042764
2.0.0より前とは異なり、一部のgemはrubyのインストールで「デフォルト」とラベル付けされ、。でアンインストールできないため、これが必要になりますgem uninstall
。これにより、以前は一般的だったすべてのgemを削除する方法が機能しなくなります。
参考までにこちらです。
gem list | cut -d" " -f1 | xargs gem uninstall
「デフォルト」の宝石を除外するよりも良い答えはまだ見つかりません。
/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