2012年12月22日土曜日

[Ruby] Nokogiri のインストールで libxml2 is missing

Nokogiri のインストールで、エラーが発生した場合の対処方法です。
環境は、CentOS 6.3 (64bit) / Ruby 1.9.3

nokogiri のインストールにおけるエラーメッセージです

# gem install nokogiri --no-ri --no-rdoc
Fetching: nokogiri-1.5.6.gem (100%)
Building native extensions. This could take a while...
ERROR: Error installing nokogiri:
ERROR: Failed to build gem native extension.

/usr/local/bin/ruby extconf.rb
checking for libxml/parser.h... no
-----
libxml2 is missing. please visit http://nokogiri.org/tutorials/installing_nokogiri.html for help with installing dependencies.


もしくは

Fetching: nokogiri-1.5.6.gem (100%)
Building native extensions. This could take a while...
ERROR: Error installing nokogiri:
ERROR: Failed to build gem native extension.

/usr/local/bin/ruby extconf.rb
checking for libxml/parser.h... yes
checking for libxslt/xslt.h... no
-----
libxslt is missing. please visit http://nokogiri.org/tutorials/installing_nokogiri.html for help with installing dependencies.


ヘッダファイルが無いというメッセージとともにエラーが発生します。
Nokogiri では、libxml2 と libxslt のヘッダファイルが必要なので、
これらの devel パッケージを事前にインストールしておく必要があります。

yum install libxml2-devel
yum install libxslt-devel

公式サイトのインストール手順にも、説明があります。
http://nokogiri.org/tutorials/installing_nokogiri.html