我試圖設置服務器來爲使用ImageMagick和RMagick gem的Ruby應用程序提供服務。服務器運行的是OS X 10.10。我有另一臺運行相同版本的服務器(操作系統,ImageMagick,xz和RMagick gem),它可以按預期工作。ImageMagick無法啓動,因爲liblzma版本不兼容
然而,每次我嘗試滿足來自新服務器的應用程序,我收到一個錯誤,指出「Web應用程序無法啓動」,具有下列跟蹤:
dlopen(/Users/user/.rvm/gems/[email protected]/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/[email protected]/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使用自制軟件安裝 - 根據其他回答的問題,xz軟件包應該有liblzma 8.0.0。
我試圖卸載並重新安裝ImageMagick,rmagick寶石和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之外正常工作嗎? – ThomasSevestre
我剛測試過,ImageMagick本身正在工作。我通過命令行將圖像轉換爲更小的尺寸,並且工作得很好。 – tecz
除非你真的需要rmagick,你可以試試mini_magick。它正在使用命令行,所以它應該工作 – ThomasSevestre