Обновление RMagick и Imagemagick является болезненным опытом. Я обновил версию Imagemagick на моем Mac (MacOS El Capitan Version 10.11.5) с помощью homebrew для одного проекта в Ruby 2.3 до6.9.5-9
$ convert --version
Version: ImageMagick 6.9.5-9 Q16 x86_64 2016-09-09
Теперь более старый проект в Ruby 1.8.7 отказывается работать с сообщением об ошибке «эта установка RMagick была настроена с ImageMagick 6.8.9, но ImageMagick 6.9.5-9 используется». Таким образом я удалил "rmagick", но его нельзя установить снова
$ gem install rmagick -v 2.16.0
Building native extensions. This could take a while...
ERROR: Error installing rmagick:
ERROR: Failed to build gem native extension.
checking for /usr/local/opt/gcc46/bin/gcc-4.6... yes
checking for Magick-config... yes
checking for outdated ImageMagick version (<= 6.4.9)... no
checking for presence of MagickWand API (ImageMagick version >= 6.9.0)... no
checking for Ruby version >= 1.8.5... yes
checking for stdint.h... no
checking for sys/types.h... no
checking for wand/MagickWand.h... no
Can't install RMagick 2.16.0. Can't find MagickWand.h.
И если он не может быть установлен, все приложение не может быть запущено. Я попробовал все ответы отсюда , и ни один из них не работает на MacOS :-( Я переустановил imagemagick и pkg-config с homebrew, и безуспешно пробовал разные версии RMagick. 2.16.0 является последней версией RMagick в настоящее время.
MagicWand, похоже, используется в версии ImageMagick> 6.9, и его можно найти на компьютере:
find /usr/local -name MagickWand.h
=> /usr/local/Cellar/imagemagick/6.9.5-9_1/include/ImageMagick-6/wand/MagickWand.h
find /usr/local -name MagickWand.pc
=> /usr/local/Cellar/imagemagick/6.9.5-9_1/lib/pkgconfig/MagickCore.pc
Это не работает, даже если я укажу эти пути во время установки gem (та же ошибка, что и выше) :-(
C_INCLUDE_PATH=/usr/local/Cellar/imagemagick/6.9.5-9_1/include/ImageMagick-6 PKG_CONFIG_PATH=/usr/local/lib/pkgconfig gem install rmagick
ОБНОВИТЬ:
Ошибка возникает только для Ruby 1.8.7, есть возможность установить RMagick для Ruby 2.0 и Ruby 2.3. Ruby 1.8.7 и ImageMagick 6.9.5 не совместимы.
- Рубин 1,8,7 х
- Ruby 2.0.0 ✓
- Ruby 2.3.1 ✓
источник
Ответы:
Чтобы решить эту проблему в Mac OSX Sierra, High Sierra, El Capitan, Mojave и Catalina , вы можете сделать следующее:
imagemagick@6
естьkeg-only
, так что вам нужно будет принудительно связать.источник
brew unlink imagemagick
перед ссылкой - но это сработало. Большое спасибо.Wand
ошибка на macOS.У меня была такая же проблема с ImageMagick 7.0.4-4 . Правильное исправление заключается в установке
imagemagick@6
. Мне показался https://github.com/Homebrew/homebrew-core/pull/8756 полезным, если вы случайно удалилиimagemagick@6
или вообще не установили его.источник
brew install imagemagick@6 && brew link imagemagick@6 --force
решил это для меняbrew install --force imagemagick@6 && brew link imagemagick@6 --force
Using 6.9.8 Q16 from /usr/local/Cellar/imagemagick@6/6.9.8-3. checking for outdated ImageMagick version (<= 6.4.9)... yes checking for Ruby version >= 1.8.5... yes checking for stdint.h... no checking for sys/types.h... no checking for wand/MagickWand.h... no Can't install RMagick 2.15.0. Can't find MagickWand.h.
MacOs Sierra:
источник
Прежде всего, отмените связь с установленным вами imagemagick, который не был правильно установлен в последней версии Mac High Sierra, используя.
затем установите последнюю версию imagemagic6, используя команду ниже
Затем установите gem rmagick используя команду ниже
Это будет работать отлично.
источник
да, это решает мою проблему:
MacOS X Sierra:
источник
Многие вещи изменились в ImageMagick 7, например, по этому пути:
include/.../wand
иwand/MagickWand.h
в настоящее время встроены в драгоценный камень rmagic. В моем случае было невозможно обновить драгоценный камень, так как проект довольно старый. В итоге я установил старую версию ImageMagic.Вы можете установить последнюю версию с 6.xx:
brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/6f014f2b7f1f9e618fd5c0ae9c93befea671f8be/Formula/imagemagick.rb
Вы также можете прикрепить его для последующего использования:
brew pin imagemagick
источник
Что-то изменилось с ImageMagick 7.0.4-4 для меня.
wand/MagickWand.h
не может быть найдено больше:У меня все еще был ImageMagick 6.9.7-3 в моей системе, и я вернулся с
После этого я мог установить
rmagick
без проблем:источник
RMagick зависит от устаревшей версии imagemagick версии 6. (см. Ниже). Homebrew предлагает этот пакет только для бочонков, который вы можете установить вместе с:
Вывод сборки будет содержать раздел Caveats (также доступен из,
brew info imagemagick@6
если вы очистили вывод):Вместо того , чтобы сила связей, которая имеет потенциал , чтобы вызвать проблемы с другим программным обеспечением , что делает поддержку новых версий ImageMagick, вы можете использовать предложенный
export
s , чтобы сделать драгоценный камень RMagick забрать старую версию , пока он строит:источник
источник
pkg-config
и это сработало.У меня пока нет репутации оставлять этот комментарий как улучшение другого ответа, но ответ @ Evgeniy28 сработал для меня на Sierra только после установки pkg-config, которая не устанавливается по умолчанию на новой машине Sierra.
Так:
Успех:
источник
Пожалуйста, следуйте ниже и измените часть в соответствии с вашими потребностями.
источник
Установите imagemagick версии 6, потому что версия 7 не совместима:
$ brew install imagemagick@6
Не следует ссылаться на --force старой версии, потому что это изменит двоичные файлы на вашем пути, и добро
brew doctor
пожалуется.Ссылка на заголовки и библиотеки из версии 6, которая была установлена при сборке собственного расширения gem:
$ PKG_CONFIG_PATH=/usr/local/Cellar/imagemagick@6/6.9.10-14/lib/pkgconfig/ gem install rmagick -v '2.16.0'
Примечание: работал для меня без указания папки lib и include, потому что за это отвечает pkgconfig.
Примечание: 6.9.10-14 является последней версией imagemagick @ 6, но вы можете сменить ее, если вам нужна другая версия
источник
в версии 7.0.7-1 вы можете создать символическую ссылку, но ее компиляция не удастся.
источник
Вот как я решил (после многих попыток и неудачи) на MacOS High Sierra 10.13.3 с Homebrew:
brew uninstall imagemagick
gem install rmagick
Если вы уже установили старую версию Imagemagick, это должно работать: https://stackoverflow.com/a/41674363
источник
Нет необходимости связывать или отсоединять что-либо, следуя инструкциям скрипта brew install:
источник
Получена та же ошибка для сборки альпийских 3.9 изображений. Поставляется с ImageMagick 7.0.8.38-r0
Чтобы исправить это, вы либо используете Alpine 3.5 с ImageMagick 6.9.6.8-r1 :
Или установите ImageMagick 6.9.6.8-r1 с репозиторием пакетов для 3.5:
В репозитории rmagick существует открытая проблема, касающаяся неудачных сборок для ImageMagick 7.0.x. так что, надеюсь, это будет исправлено в ближайшее время.
источник
Что-то в моей системе было что-то не так, настолько сильно, что все было исправлено, но я наконец смог установить RMagick для Ruby 1.8.7 снова после установки
При установке новой версии Ruby с RVM
rvm install 1.8.7
также был установлен новый компилятор GCC: он удалил старую версию GCC 4.6 и установил версию 4.9 GCC. Очевидно, что GCC не удалось найти правильные заголовки, несмотря на pkg-config.источник
Я полностью объясняю процесс установки в ImageMagick установки в Centos .
в любом случае ...
после установки Установите PHP-библиотеку Imagick & ImageMagick-devel & ImageMagick, как показано ниже:
перейдите в / usr / include
Важно: скопируйте папку ImageMagick из «/ usr / include» в «/ usr / local / include», чтобы ImageMagick нашел «MagickWand.h»
Я протестировал это изменение на imagick-3.4.3 (ImageMagick-7) и centos 6.5 и php56 и работает отлично ...
Если вы уже установили «ImageMagick» несколько раз, сначала удалите все из них и найдите папки «ImageMagick» и «imagick», очистите их все и продолжите процесс установки с этим изменением.
Используйте следующую команду, чтобы найти файл или папку:
и продолжайте установку
до того, как появятся следующие строки: не забудьте: перейдите в «php.ini», найдите «disable_functions» и очистите «proc_open, popen, proc_close», потому что make imagick нужны эти функции, после полной установки вы можете добавить эти функции в свой » disable_functions "в файле" php.ini ".
Удачи...
источник
Для версии Ubuntu> 12 и без использования homebrew,
Если вы получаете файлы '7z' вместо файлов 'tar.gz' в ссылке wget, тогда
После этого вы можете возобновить работу своего упаковщика для RMagick.
источник
Во-первых, вам не нужно удалять imagemagick, если на нем установлен 6.x, как показано ниже. Вы можете видеть текущий «главный»,
7.0.7-8
но6.9.1-10
все еще там.Если у вас нет старой версии 6.x, то установить ImageMagick @ 6.
Во-вторых, не заставляйте ссылку на изображение , особенно не 6. РЕДАКТИРОВАТЬ: см. ¹
Вам необходимо установить PKG_CONFIG_PATH в дополнение к флагам --with-opt- *.
Это работает для меня на High Sierra с вышеупомянутой настройкой brew на Ruby 1.9.3-p551:
Построить ri docs не удается, но это несущественно.
Building: Строительные работы, путь к dylib, который ищет RMagick, неверен. Поднятая проблема № 278, чтобы уточнить, можно ли это исправить. В противном случае необходима ручная символическая ссылка на libMagickWand и т. Д. Может быть, безопаснее вручную связать определенные библиотеки, чем
brew link --force
хотя бы.источник