【发布时间】:2016-04-27 21:31:37
【问题描述】:
我正在尝试设置服务器来为使用 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 的软件包),但无济于事。
如果您需要更多信息,请告诉我。
编辑: 在 /usr/local/lib/liblzma.5.dylib 上运行 otool 的输出:
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 版。
【问题讨论】:
-
imagemagick 在 ruby 之外能正常工作吗?
-
我刚刚测试过,ImageMagick 本身正在工作。我通过命令行将图像转换为更小的尺寸,它工作得很好。
-
除非你真的需要rmagick,你可以试试mini_magick。它正在使用命令行,所以它应该可以工作
-
不幸的是,我现在需要 rmagick :( 我正在尝试调试由其他人编写的使用 rmagick 的应用程序
标签: ruby macos imagemagick rmagick xz