Je m'appelle "Koznyan"

都会の片隅にひっそり生息する猫の日常生活

nokogiri を入れるために

Ruby on Rails で bundle install しようとしたらnokogiri が入っていないと警告された。

 

 

An error occurred while installing nokogiri (1.6.3.1), and Bundler cannot

continue.

Make sure that `gem install nokogiri -v '1.6.3.1'` succeeds before bundling.

 

 

そこでnokogiri を入れようとしたら、次のようなエラーが出た。

 

Gem files will remain installed in /Users/<UserName>/.rvm/gems/ruby-2.0.0-p481@railstuto_4.0/gems/nokogiri-1.6.3.1 for inspection.

Results logged to /Users/<UserName>/.rvm/gems/ruby-2.0.0-p481@railstuto_4.0/gems/nokogiri-1.6.3.1/ext/nokogiri/gem_make.out

 

bundle updateなどを繰り返して後、エラー表示の下に指示みたいなのが書かれているのに気づいた。ちょっと早く気づけよ。。。

 

 

 

 

ERROR:  Error installing nokogiri:
	ERROR: Failed to build gem native extension.

    /Users/UserName/.rvm/rubies/ruby-2.0.0-p481/bin/ruby extconf.rb
Building nokogiri using packaged libraries.
-----
libiconv is missing.  please visit http://nokogiri.org/tutorials/installing_nokogiri.html for help with installing dependencies.
-----

 

libiconvをインストールするためにnokogiriのサイトへ 

http://nokogiri.org/tutorials/installing_nokogiri.html

 

Homebrew0.9を使っているので該当部分を見る。

libxml2とlibxsltはすでにインストールされていたので次のところから始める。

 

$ brew link libxml2 libxslt

 

実行すると警告が出た。

 

Warning: libxml2 is keg-only and must be linked with --force
Note that doing so can interfere with building software.
Warning: libxslt is keg-only and must be linked with --force
Note that doing so can interfere with building software.

 

警告をスルーして次のところへ

$wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.13.1.tar.gz

 

そのまま実行すると

wget: command not found

というエラーが出るので調べると、

wget の代わりに

curl -O 

でもよさそうなので、それを使ってみると

 


  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current

                                 Dload  Upload   Total   Spent    Left  Speed

100 4605k  100 4605k    0     0   287k      0  0:00:16  0:00:16 --:--:-- 34861

 

というのが出て成功したっぽい。

その後も指示通りに通って、libiconvがインストールされた。

 

で、その後

gem install nokogiri -- --with-xml2-include=/usr/local/Cellar/libxml2/2.7.8/include/libxml2 
                        --with-xml2-lib=/usr/local/Cellar/libxml2/2.7.8/lib 
                        --with-xslt-dir=/usr/local/Cellar/libxslt/1.1.26 
                        --with-iconv-include=/usr/local/Cellar/libiconv/1.13.1/include 
                        --with-iconv-lib=/usr/local/Cellar/libiconv/1.13.1/lib

というふうに、見たまま実行すると前と同じエラーになる。

gem list やlibxml2などはちゃんと見つかるのに。。。。

 

で最終的に気になって改行などをなくして次のように1行にして実行した。

$ gem install nokogiri -- --with-xml2-include=/usr/local/Cellar/libxml2/2.9.1/include/libxml2 --with-xml2-lib=/usr/local/Cellar/libxml2/2.9.1/lib  --with-xslt-dir=/usr/local/Cellar/libxslt/1.1.28  --with-iconv-include=/usr/local/Cellar/libiconv/1.13.1/include  --with-iconv-lib=/usr/local/Cellar/libiconv/1.13.1/lib

 

 

Successfully installed nokogiri-1.6.3.1

 

 

通った。がんばった。