Railsプロジェクトにビルドパイプラインがあります。テストサーバーでアプリケーションをバンドルしてテストした後、宝石付きのコード(vendor/
)をステージングサーバーにコピーし、乗客サーバー。nokogiri:実稼働環境での再配置エラー
それが動作するために使用されるが、今私はapache.error.log
でエラーを次取得:
WARNING: Nokogiri was built against LibXML version 2.7.6, but has dynamically loaded 2.6.26
/usr/local/rvm/rubies/ruby-1.9.2-p318/bin/ruby:
relocation error: /home/project/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.5.2/lib/nokogiri/nokogiri.so:
symbol xmlNextElementSibling, version LIBXML2_2.7.3 not defined in file libxml2.so.2 with link time reference
とerror 500
。
ステージングサーバーUでwebbrickを実行すると、最初の要求時に同様のエラーが発生します。どうすればそれを解決できますか?
編集: ノーコギリバージョンとのスタンゲのこと。同じバイナリをロード異なるのlibxmlのバージョン私はそれがスタンドアロンまたはbundle exec
を呼び出す場合によっては:
vendor/bundle/ruby/1.9.1/gems/nokogiri-1.5.2/bin/nokogiri -v
# Nokogiri (1.5.2)
---
warnings: []
nokogiri: 1.5.2
ruby:
version: 1.9.2
platform: x86_64-linux
description: ruby 1.9.2p318 (2012-02-14 revision 34678) [x86_64-linux]
engine: ruby
libxml:
binding: extension
compiled: 2.6.26
loaded: 2.6.26
$ bundle exec vendor/bundle/ruby/1.9.1/gems/nokogiri-1.5.2/bin/nokogiri -v
WARNING: Nokogiri was built against LibXML version 2.7.6, but has dynamically loaded 2.6.26
# Nokogiri (1.5.2)
---
warnings:
- Nokogiri was built against LibXML version 2.7.6, but has dynamically loaded 2.6.26
nokogiri: 1.5.2
ruby:
version: 1.9.2
platform: x86_64-linux
description: ruby 1.9.2p318 (2012-02-14 revision 34678) [x86_64-linux]
engine: ruby
libxml:
binding: extension
compiled: 2.7.6
loaded: 2.6.26
おかげで、私は、参照をlibxmlのバージョンをチェックします編集。 – mrzasa