おもしろwebサービス開発日記

Ruby や Rails を中心に、web技術について書いています

mac で nokogori をインストールする

bundle install で nokogiri のインストールに失敗して、そこからやったことのメモです。

とりあえず libxml2 と libxslt 入れる。

brew install libxml2 libxslt

これでもダメだったのでNokogiriのドキュメントを見ると、「libiconv をソースから入れろ」とのこと。言われたとおりにする。

wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.13.1.tar.gz
tar xvfz libiconv-1.13.1.tar.gz
cd libiconv-1.13.1
./configure --prefix=/usr/local/Cellar/libiconv/1.13.1
make
sudo make install

さらに bundler で nokogiri をビルドする時のオプションを、次のようにして設定。

bundle config build.nokogiri --with-xml2-include=`brew --prefix libxml2`/include/libxml2 --with-xml2-lib=`brew --prefix libxml2`/lib --with-xslt-dir=`brew --prefix libxslt` --with-iconv-include=/usr/local/Cellar/libiconv/1.13.1/include --with-iconv-lib=/usr/local/Cellar/libiconv/1.13.1/lib

すると ~/.bundle/config に次のように書かれる。

---
BUNDLE_BUILD__NOKOGIRI: "--with-xml2-include=/usr/local/opt/libxml2/include/libxml2 --with-xml2-lib=/usr/local/opt/libxml2/lib --with-xslt-dir=/usr/local/opt/libxslt --with-iconv-include=/usr/local/Cellar/libiconv/1.13.1/include --with-iconv-lib=/usr/local/Cellar/libiconv/1.13.1/lib"

この状態でbundle installすると無事インストールできた。

参考