QA@IT

Rails nokogiriの依存関係でエラーが出ます

3793 PV

Mac OS X 10.7.5
Rails 3.2.13
RVM Ruby 1.9.3-p392

BackyardSampleというGithubのアプリを動かそうとしていました。
https://github.com/ofl/BackyardSample

bundle後に、下記コマンドを実行すると、

rake db:create

すると、
以下のようなエラーが出ます。

rake aborted!
dlopen(/Users/kntmrkm/.rvm/gems/ruby-1.9.3-p392@rails3.2/gems/nokogiri-1.6.0/lib/nokogiri/nokogiri.bundle, 9): Library not loaded: /Users/kntmrkm/.bundler/tmp/4032/gems/nokogiri-1.6.0/ports/i686-apple-darwin11/libxml2/2.8.0/lib/libxml2.2.dylib
  Referenced from: /Users/kntmrkm/.rvm/gems/ruby-1.9.3-p392@rails3.2/gems/nokogiri-1.6.0/lib/nokogiri/nokogiri.bundle
  Reason: Incompatible library version: nokogiri.bundle requires version 11.0.0 or later, but libxml2.2.dylib provides version 10.0.0 - /Users/kntmrkm/.rvm/gems/ruby-1.9.3-p392@rails3.2/gems/nokogiri-1.6.0/lib/nokogiri/nokogiri.bundle

WEB上には下記のような情報がありますが、見当がつきません。
http://stackoverflow.com/questions/11298553/nokogiri-osx-10-5-8-libxml-incompatible-library-version

OSの環境でしょうか?
お手数ですがご教授お願いいたします。

回答

システムに入っているバージョンによって(新しすぎてバグを含んでいたり)動作しない場合があり、nokogiri 1.6より、動作確認の取れているバージョンのlibxml2を同梱するようになりました。

にもかかわらず、実行時にシステムにインストールされているものと使おうとして、失敗することがあるようです。

Gemfile で、 nokogiri 1.5系のバージョンを明示したら当面は回避出来るかもしれません。

編集 履歴 (0)
  • できました!ありがとうございます。。Gemfile.lockのバージョンを1.5.0にしてbundleすると解消しました。 -

こちらはどうですか?

http://stackoverflow.com/questions/17198430/getting-error-in-hartls-tutorial-running-bundle-exec-rspec-spec-requests-stati

こちらも libxml2.2.dylibの Library not loaded: エラーのようですが。


一応転記

brew install libxml2 --with-xml2-config
brew install libxslt

ubuntuの場合は以下の様ですね。

sudo apt-get install libxslt-dev libxml2-dev
編集 履歴 (0)
  • インストールは既にされているメッセージが出て、解決にいたりませんでした。nokogiriのバージョンを下げて使用します。ありがとうございました! -
ウォッチ

この質問への回答やコメントをメールでお知らせします。