このブログをご覧のみなさん、こんにちは。
Ruby のインストールした gem をすべて削除したい場合があります。例えば、bundle install --path
を指定していなかった場合などです。単純に gem uninstall
を実行すると、
$ gem uninstall
ERROR: While executing gem ... (Gem::CommandLineError)
Please specify at least one gem name (e.g. gem build GEMNAME)
というように gem の名前を指定していないのでエラーになってしまいます。じゃぁ、指定してやればいいんだろ!と以下を実行すると、
$ gem uninstall -axI `gem list --no-versions`
Successfully uninstalled uglifier-2.5.3
Successfully uninstalled turbolinks-2.4.0
ERROR: While executing gem ... (Gem::InstallError)
gem "test-unit" cannot be uninstalled because it is a default gem
というように default gem を消そうとしてエラーになってしまいます。じゃぁ、default gem 以外指定してやればいいんだろ!と以下を実行するとやっとすべて削除できます。
$ gem uninstall -axI `gem list --no-versions | egrep -v 'test-unit|rdoc|psych|minitest|io-console|rake|bigdecimal|json'`