search
LoginSignup
82

More than 5 years have passed since last update.

posted at

Nokogiri 1.6.0 のインストールが遅い件とその解決方法

Nokogiri 1.6.0 のインストールは、そのひとつ前の 1.5.10 と比較してとても遅い。これは、 1.6.0 では libxml2 および libxslt を同梱し、環境に合わせてビルドするようになったからだ。

gem install nokogiri したときにライブラリ不足で止まってしまうのはストレスフルだったので、これは人によっては嬉しい変更なんだろう。
ただ問題は、 libxml2 や libxslt がシステムに入っている場合でも、これらのビルドが行われることだ。
gem update するだけなら気にならないが、 bundle install にて nokogiri を利用するような環境の場合、繰り返しライブラリをビルドされるとさすがに時間がもったいない。

こういったケースでは、 NOKOGIRI_USE_SYSTEM_LIBRARIES 環境変数を設定しよう。この環境変数があれば、依存ライブラリのビルドは行われなくなる。これは Gemfile で設定してしまうと都合がいい。

Gemfile
source 'https://rubygems.org'

ENV['NOKOGIRI_USE_SYSTEM_LIBRARIES'] = 'YES'
gem 'nokogiri', '1.6.0'

なお、この問題は Linux や MacOS 上で起こる問題。
Windows 環境では Nokogiri 1.6.0 バイナリパッケージが準備されているのでこの問題にはぶち当たらない、ぶち当たらないと思う、ぶち当たらないんじゃないかな。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
82