Я пытаюсь настроить сервер для обслуживания приложения Ruby, которое использует ImageMagick и жемчужину RMagick. На сервере работает OS X 10.10. У меня есть еще один сервер, на котором работают те же самые версии (OS, ImageMagick, xz и RMagick gem), которые работают как ожидалось.ImageMagick не удалось запустить из-за несовместимой версии liblzma
Однако, каждый раз, когда я пытаюсь служить приложение с нового сервера, я получаю ошибку о том, что «веб-приложение не может быть запущено», со следующим следом:
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 установлены с использованием Homebrew - в соответствии с другими ответами на вопросы, пакет xz должен иметь liblzma 8.0.0.
Я попытался удалить и переустановить ImageMagick, драгоценный камень rmagick и xz (пакет, из которого подается liblzma) безрезультатно.
Пожалуйста, дайте мне знать, если вам нужна дополнительная информация.
EDIT: Выход работает 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.
делает imagemagick правильно работать за пределами рубина? – ThomasSevestre
Я только что протестировал, и сам ImageMagick работает. Я преобразовал изображение в меньший размер с помощью командной строки, и он работает отлично. – tecz
Если вам действительно не нужна rmagick, вы можете попробовать mini_magick. Он использует командную строку, поэтому он должен работать – ThomasSevestre