gemをホームディレクトリにインストールしない設定。
gem installでsudoを付け忘れると~/.gem/以下にgemがインストールされてしまう。予想外なgemを参照していたりして気持ち悪い。
アンインストール
--install-dirを付ける。
$ gem uninstall activerecord --install-dir ~/.gem/ruby/1.8
gemの一覧を得る方法は不明。gem list --install-dirはダメだった。ls -l ~/.gem/ruby/1.8/gems/で調べて消した。
ホームディレクトリにインストール禁止
rubygemsを 1.3.2(2009-04-15) 以降にアップデートする。バグフィックスがあるのでアップデートは必須。
* --user-install * `gem install --no-user-install` now works. Patch #23573 by Alf Mikula. * `gem uninstall` can now uninstall from ~/.gem. Bug #23760 by Roger Pack.
~/.gemrcにgem: --no-user-installを追加。一番最後の行に足した。他の行が:で始まっていても、gemの先頭にコロンは付けない。
gem: --no-user-install
これで、以下のようにインストールに失敗してくれるようになる。
$ gem install rails ERROR: While executing gem ... (Gem::FilePermissionError) You don't have write permissions into the /opt/local/lib/ruby/gems/1.8 directory.
安心してsudoを付け忘れられる。
上のページには alias gem='sudo gem' というコメントも載っているが、やり過ぎだとおもうのでしない。