読者です 読者をやめる 読者になる 読者になる

山下寛人オフィシャルブログ

オイシックス株式会社 執行役員 システム本部長 山下寛人の公式ブログです。

ruby-oci8をsudo gem install

Macrubyからoracleを使うときはセットアップがちょっと手間かかりますね。JDBCだとjarをダウンロードするだけなのですが。

インストール方法はこちらを参照しました。ほぼこれどおり行けました。qiita.com

一箇所違ったのがgem installのところです。私はsudoでgem installを今までしていたみたいでsudoなしだとパーミッションのエラーになりました。sudoにするとこういうエラーになりました。

Error Message:
  Set the environment variable DYLD_LIBRARY_PATH, DYLD_FALLBACK_LIBRARY_PATH or
  OCI_DIR to point to the Instant client directory.

上の記事の手順通りやっていれば環境変数はセットされているはずです。printenvでもセットされていることを確認しました。sudoだと環境変数が引き継がれないのか?ということに気づいて指定してみたらできました。sudoとコマンドの間に指定を入れます。このようにします。

sudo DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH RC_ARCHS=x86_64 gem install ruby-oci8

RC_ARCHS=x86_64というのは、DYLD_LIBRARY_PATHを指定して実行したらまたエラーになってこれを指定しなさいよ、と出たので追加したものです。