Ruby 1.9.3 をソースコードからインストールして gem install rails を実行したときに、下記のエラーが発生しました。下記のエラーは libyaml がインストールされていないと発生するエラーのようです。
発生したエラーメッセージは下記のとおりです。
[html]
It seems your ruby installation is missing psych (for YAML output). To eliminate this warning, please install libyaml and reinstall your ruby.
[/html]
エラーを検索すると、libyaml-devel をインストールしたのち、Ruby を再コンパイルすれば良いという情報が手に入ります。
libyaml-devel は標準 yum リポジトリに含まれていないので、rpmforge を使用します。
[html]
yum -y install –enablerepo=rpmforge libyaml-devel
[/html]
これで libyaml がインストールされました。
このあとRuby を再コンパイルをしますが、普通の再コンパイルでは結果は変わりません。
再コンパイル時に下記のように ./configure のオプションを変えたところうまくいきました。
[html]
./configure –with-opt-dir=/usr/lib –disable-install-doc
make
make install
[/html]
–with-opt-dir に指定するパスは libyaml がインストールされているディレクトリを指定します。
私の場合は whereis libyaml で /usr/lib/libyaml.so と出ましたので –with-opt-dir=/usr/lib としました。
ちなみに –with-opt-dir は ヘッダーファイル、ライブラリファイルを探すディレクトリを追加するオプションです。
http://www.ruby-lang.org/ja/old-man/html/mkmf.html
これで gem
下記の記事が解決の決め手となりました。ありがとうございます。
http://emaame.com/20111104.html
有益な情報ありがとうございます。
参考にさせて頂きながら試したのですが
> 私の場合は whereis libyaml で /usr/lib/libyaml.so と出ましたので
という場合でしたら
> –with-opt-dir=/usr/lib
ではなくて
–with-opt-dir=/usr
でインストールが成功しました (ruby1.9.3-p551 のインストールです)。