yashigani?.days

週刊少年ジャンプについてだらだら書きます

$HOME 以下に RubyGems をインストールしてる関係(?)でエラーが出てきて困っている

久しぶりに Ruby でプログラミングしようと思ったらエラーがでた

Error loading gem paths on load path in gem_prelude

とりあえず無視すれば動くんやけど,気持ち悪い
$GEM_HOME を無効化したら出なくなったけど,そうすると新しいライブラリをインストールできなくなる(僕は gem を $HOME/lang/ruby/gems 以下に作ってるから $GEM_HOME を無効化すると $HOME 以下に保存されなくなる)
ググってみたら Ruby のバージョンによって同様のエラーが出るみたい
なのでダウングレードしてみた

> sudo port deactivate ruby19 @1.9.1-p429_1+mactk+nosuffix
> sudo port activate ruby19 @1.9.1-p378_0+mactk+nosuffix

macports 便利!
これでエラーは出なくなった
やった!と思ったら次は gem が $HOME/lang/gems 以下に保存されず,$HOME/.gem/ruby/1.9.1 以下に保存される
なんでなの...orz
誰か助けてください


以下設定
Ruby 関連の環境変数設定

export PATH=$HOME/lang/ruby/gems/bin:$PATH
export RUBYLIB=$HOME/lang/ruby/gems/lib
export GEM_HOME=$HOME/lang/ruby/gems
export GEM_PATH=$HOME/lang/ruby/gems

.gemrc の内容

--- 
gem "--user-install"
:bulk_threshold: 1000
:sources: 
- http://gems.rubyforge.org
- http://gems.github.com
- http://gemcutter.org
:update_sources: true
:verbose: true
:backtrace: true
:benchmark: false


追記:
.gemrc の "--user-install" を消したら $GEM_HOME 以下に保存されるようになった.
このオプションは .gem 以下に保存するようにするみたいですね.