2012年12月23日日曜日

[Ruby] gem コマンドで cannot load such file -- zlib

Ruby を make install 後に、gem コマンドでエラーになりました。
このため zlib-devel パッケージをインストール後に、再度 Ruby をインストールします。

環境は、CentOS 6.3 (64bit) / Ruby 1.9.3

# gem update
ERROR: Loading command: update (LoadError)
cannot load such file -- zlib


・・・しかし、zlib に限っては、これだけでは解決しませんでした。
どうやら、Ruby 拡張ライブラリのインストールが期待通りに行われていない様子です。

# find /usr/mofuken/ruby193/lib/ruby/site_ruby

Ruby の拡張ライブラリのディレクトリにはファイルがありませんでした。
これは zlib 以外に openssl や readline とかも足りないのでは・・?
全部をまとめてメンテナンスするのは厳しいので、仕方なく zlib だけでも補います。

# cd (Ruby ソースディレクトリ)/ext/zlib
# ruby extconf.rb
# make
# make install
/usr/bin/install -c -m 0755 zlib.so /usr/local/lib/ruby/site_ruby/1.9.1/x86_64-linux
installing default zlib libraries
# ls /usr/local/lib/ruby/site_ruby/1.9.1/x86_64-linux
zlib.so