我正在尝试设置一个服务器来为使用 ImageMagick 和 RMagick gem 的 Ruby 应用程序提供服务。服务器正在运行 OS X 10.10。我有另一台服务器运行与预期相同的所有内容(操作系统、ImageMagick、xz 和 RMagick gem)的相同版本。
但是,每次我尝试从新服务器提供应用程序时,都会收到一条错误消息,提示“无法启动 Web 应用程序”,并带有以下跟踪:
dlopen(/Users/user/.rvm/gems/ruby-2.1.5@app/extensions/x86_64-darwin-14/2.1.0-static/rmagick-2.15.4/RMagick2.bundle, 9):
Library not loaded: /usr/local/lib/liblzma.5.dylib
Referenced from: /usr/local/opt/imagemagick/lib/libMagickCore-6.Q16.2.dylib
Reason: Incompatible library version: libMagickCore-6.Q16.2.dylib requires version 8.0.0 or later, but liblzma.5.dylib provides version 6.0.0 - /Users/user/.rvm/gems/ruby-2.1.5@app/extensions/x86_64-darwin-14/2.1.0-static/rmagick-2.15.4/RMagick2.bundle (LoadError)
基本上,看起来 ImageMagick 正在寻找版本 8.0.0 的 liblzma,但只找到版本 6.0.0。
ImageMagick 和 xz 是使用 Homebrew 安装的——根据其他回答的问题,xz 包应该有 liblzma 8.0.0。
我曾尝试卸载并重新安装 ImageMagick、rmagick gem 和 xz(提供 liblzma 的软件包),但无济于事。
如果您需要更多信息,请告诉我。
编辑:otool
在 /usr/local/lib/liblzma.5.dylib上运行的输出:
otool -L /usr/local/lib/liblzma.5.dylib
/usr/local/lib/liblzma.5.dylib:
/usr/local/opt/xz/lib/liblzma.5.dylib (compatibility version 8.0.0, current version 8.2.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1213.0.0)
我更困惑..它显然超过了 8.0.0 版。