2012-03-10 12:15 | tag: ruby
Ruby 1.9.3をCentOS 5でビルドしてgemを実行したところ次のようなエラーが表示された。これは、Ruby 1.9.3ではYAMLパーサーとして従来のsyckにかわりpsychが使われるようになったため。psychはlibyamlを使用する。
libyaml-develをインストールしてRubyをビルドしなおせば解決する。
# gem /usr/local/lib/ruby/1.9.1/yaml.rb:56:in `<top (required)>': It seems your ruby installation is missing psych (for YAML output). To eliminate this warning, please install libyaml and reinstall your ruby. RubyGems is a sophisticated package manager for Ruby. This is a basic help message containing pointers to more information.
CentOSの標準のリポジトリにはlibyaml-develが含まれていないので、EPELリポジトリからインストールする。
yumリポジトリにEPELを追加:
rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm
libyaml-develをインストール:
yum install libyaml-devel
CentOS 5上で、libyamlの件も含めて後で困ったことがおこらないようにRuby 1.9.3をビルドする手順。
rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm yum gorupinstall "Development Tools" yum install openssl-devel readline-devel zlib-devel libyaml-devel