ちなみに

火曜日の空は僕を押しつぶした。

Bundler でグローバルに入れてしまった Gem を一気に消す

$ bundle uninstall --all 

みたいなことは出来ないので自力でやる。

$ bundle list | grep -v Gems | ruby -ne 'system("gem uninstall -x %s -v \"%s\"" % $_.match(/\*\s+(.+)\s+\((.+)\)/)[1, 2])'

bundle list で一覧を取得して、grep で不要な行を消す。あとは ruby でパースして gem uninstall -x piyo -v "x.x.x" を呼んでいるだけである。日本語で説明する必要もなかった。

もっと短くできそう。

bundler で Gem を管理するときは bundle install --path vendor/bundle のように --path オプションを付けるように心掛けたい。

一度 --path オプション付きでインストールするとカレントディレクトリの .bundle/config に以下のような設定が追加されて、次回移行はこれを読んでくれる。

---
BUNDLE_PATH: "vendor/bundle"
BUNDLE_DISABLE_SHARED_GEMS: '1'