ruby1.8系でrequireしたらエラーが出たときの確認事項

昔はWindows使ってて去年の夏からMacに乗り換えたんだけどそのときrequireするとエラーがでて困ったから一応メモを残します。

たぶん確認しないといけないのは以下の3点

タイプミス

requireしたいライブラリ名をタイプミスしていませんか?
ターミナルで

$gem list

とするとgem一覧がでるので確認しましょう。

パスは通ってますか?

gemのパスは通ってますか?
以下のコマンドを発行してgemがインストールされているパスが表示されているか確認してください。

$which gem 

またMACの場合、はじめから入っているgemとmacportでインストールしたgemは違うパスにインストールされています。
というわけで初期でインストールされているgemでライブラリをインストールして、その後macport版のgemをインストールした場合は新たにライブラリをインストールし直しましょう。

あとgem install にsudoを使って管理者権限で行っている場合は以下のコマンドを発行して一般ユーザと管理者ユーザのパスが同じであるかを確認しましょう。

$ sudo which gem
/opt/local/bin/gem
$ which gem
/opt/local/bin/gem

ここでsudoしたときのパスが異なっていた場合、管理者権限のユーザははじめから入っているgemを見ていると思いますのでユーザホーム配下に.profileという名前のファイルを作成してパスを追加します。

$touch ~/.profile
$vi ~/.profile
#以下の内容を追加
export PATH=/opt/local/bin:$PATH

その後再起動するか以下のコマンドを発行するとパスがそろうと思います。

$source ~/.profile

rubygemsをrequireしていますか?

Windowsの配布バイナリによってはインストール時に環境変数を設定してくれるため自動でrubygemsをrequireしてくます。
MACでは.bash_profileや.zshrcに以下の記述を追加することで同じように自働でrubygemsをrequireしてくれます。

export RUBYOPT=rubygems

また自働でrubygemsをrequireしたくない場合はコードの先頭でrequire 'rubygems'をするとgemをrequireできるようになります。