LoginSignup
29
28

More than 5 years have passed since last update.

インストールされているgemを一括で削除する

Last updated at Posted at 2014-02-17

bundle installするときに--path vendor/bundleを付け忘れてRailsアプリケーションのgemがrubyのディレクトリにごっそりインストールされてしまうというのはよくある操作ミス。

そのたびに http://qiita.com/yuki24/items/2e6258b7c6a5b13b7d16 などを参考に削除していたのだけど、デフォルトで削除できないgemがいくつかあってエラーで止まってしまう。それにbundlerやpryのように残しておきたいgemもある。

そこで上の削除方法を少しだけ改良して、削除できない/削除したくないgemを除外できるようにした。

gem uninstall $(gem list --no-versions|ruby -pe 'gsub(/bundler|bigdecimal|io-console|json|minitest|pry|psych|rake|rdoc|test-unit/,"")')

普通はsedを使うところなのだろうけど、せっかくなのでrubyで文字列処理を行った。

追記

-aIx付けたほうがいい。実はどこかからコピーしたコードだけど引用元が思い出せない。

gem uni -aIx $(gem li --no-versions | grep -v -E "rdoc|psych|io-console|bigdecimal|rake|json|openssl")
29
28
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
29
28