乘客遇见库未加载错误:liblzma.5.dylib

时间:2015-08-30 05:48:30

标签: ruby-on-rails passenger homebrew aws-sdk

我正试图与乘客一起跑轨。

我安装了AWS SDK 1和2 gem:

gem 'aws-sdk-v1'
gem 'aws-sdk', '~> 2'

当我使用AWS sdk运行时:

s3 = AWS::S3.new

我遇到错误:

LoadError: dlopen(/Users/XXXX/.rbenv/versions/1.9.3-p551/lib/ruby/gems/1.9.1/gems/nokogiri-1.6.6.2/lib/nokogiri/nokogiri.bundle, 9): 
Library not loaded: /usr/local/lib/liblzma.5.dylib
Referenced from: /Users/XXXX/.rbenv/versions/1.9.3-p551/lib/ruby/gems/1.9.1/gems/nokogiri-1.6.6.2/lib/nokogiri/nokogiri.bundle
Reason: Incompatible library version: nokogiri.bundle requires version 8.0.0 or later, but liblzma.5.dylib provides version 6.0.0

otool -L告诉我版本是8.1.0

$ otool -L /usr/local/lib/liblzma.5.dylib
/usr/local/lib/liblzma.5.dylib:
/usr/local/lib/liblzma.5.dylib (compatibility version 8.0.0, current version 8.1.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1213.0.0)

奇怪的是,当我运行' rails s'时,这个错误不会显示出来。 更新/卸载/重新安装xz by brew not help。 更新/卸载/重新安装gem nokogiri也没有帮助。

3 个答案:

答案 0 :(得分:5)

尝试遵循此https://github.com/PromyLOPh/pianobar/issues/530#issuecomment-125746641

这是修复:Cannot get ffmpeg to work after installing from homebrew

使用brew brew install xz因为liblzma现在在xz

答案 1 :(得分:0)

这不是乘客的问题,这是你宝石中的一个问题。显然你在过去的某个时候安装了Nokogiri,然后它被链接到liblzma 5,但是一段时间之后你将liblzma升级到了不兼容的版本6.尝试卸载那个gem,然后重新安装它。

答案 2 :(得分:0)

更新宝石为我工作

bundle update