あえて言うほどではないけれどもGemを一括削除する方法

こんにちは、河野です。

最近bundlerを使っているわけですが、たまに勢い余って--pathを付け忘れたりしてrvmのlocalにgemをインストールしたりすることがあります。

そんな時に、一括でgemを削除する方法です。

まず、削除したいgemの一覧が必要です。--no-versionsをつけるとバージョンが出力されません。

これでgemの一覧が取得できますが、「*** LOCAL GEMS ***」ってのが邪魔ですね。grep でフィルタします。

これで余計な出力がなくなりましたので、これをgem uninstallします。xargs を使えば事前の出力を引数にできますね。

途中でいくつか削除されないものがありますが、bundlerで管理しているデフォルトのgemっぽいです。

uninstallのオプションは、

  • a : 全バージョン
  • I : 依存性を無視する
  • x : 実行ファイルも

という意味です。

これで、余計なgemが綺麗さっぱりなくなりました!

Comments are closed, but you can leave a trackback: Trackback URL.