Установка RMagick: не удается найти MagickWand.ч
обновление RMagick и Imagemagick - это болезненный опыт. Я обновил версию Imagemagick на моем mac (MacOS El Capitan версии 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. Руби 1.8.7 и ImageMagick 6.9.5, кажется, не быть совместимы.
- Рубин 1.8.7 x
- Ruby 2.0.0 ✓
- Ruby 2.3.1 ✓
17 ответов:
В Mac OSX Sierra (и High Sierra), чтобы решить эту проблему, мне пришлось сделать следующее:
brew unlink imagemagick brew install imagemagick@6 && brew link imagemagick@6 --force
imagemagick@6
иkeg-only
, поэтому вам нужно будет принудительно связать.
у меня была такая же проблема с ImageMagick 7.0.4-4. Правильное исправление-установить
imagemagick@6
. Я нашел https://github.com/Homebrew/homebrew-core/pull/8756 полезно, если вы случайно удалили свойimagemagick@6
или никогда не было установлено на первом месте.
многие вещи изменились в ImageMagick 7, как этот путь:
include/.../wand
иwand/MagickWand.h
в данный момент встроен в rmagic gem. В моем случае не удалось обновить драгоценный камень, так как проект довольно старый. Поэтому я закончил установку более старой версии ImageMagic.вы можете установить последнюю версию 6.х.х:
brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/6f014f2b7f1f9e618fd5c0ae9c93befea671f8be/Formula/imagemagick.rb
вы также можете закрепить его для последующего применения:
brew pin imagemagick
прежде всего разблокируйте установленный imagemagick, который не был правильно установлен в последней версии mac high sierra с помощью.
brew unlink imagemagick
затем установите последнюю версию imagemagic6, используя следующую команду
brew install imagemagick@6 && brew link imagemagick@6 --force
затем установите gem rmagick, используя следующую команду
gem install rmagick
Он будет работать прекрасно.
что-то изменилось с ImageMagick 7.0.4-4 для меня.
wand/MagickWand.h
больше не удалось найти:% brew unlink imagemagick && brew link imagemagick Unlinking /usr/local/Cellar/imagemagick/7.0.4-4... 71 symlinks removed Linking /usr/local/Cellar/imagemagick/7.0.4-4... 71 symlinks created % gem install rmagick Building native extensions. This could take a while... ERROR: Error installing rmagick: ERROR: Failed to build gem native extension. /Users/holger/.rbenv/versions/2.2.2/bin/ruby -r ./siteconf20170116-21103-1aikaka.rb extconf.rb checking for clang... yes checking for Magick-config... no checking for pkg-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... yes checking for sys/types.h... yes checking for wand/MagickWand.h... no Can't install RMagick 2.16.0. Can't find MagickWand.h.
у меня все еще был ImageMagick 6.9.7-3 в моей системе и изменился обратно с
% brew switch imagemagick 6.9.7-3 Cleaning /usr/local/Cellar/imagemagick/6.9.6-6 Cleaning /usr/local/Cellar/imagemagick/6.9.7-0 Cleaning /usr/local/Cellar/imagemagick/6.9.7-1 Cleaning /usr/local/Cellar/imagemagick/6.9.7-3 Cleaning /usr/local/Cellar/imagemagick/7.0.4-4 75 links created for /usr/local/Cellar/imagemagick/6.9.7-3
после этого я мог бы установить
rmagick
без проблем:% gem install rmagick Building native extensions. This could take a while... Successfully installed rmagick-2.16.0 1 gem installed
пожалуйста следовать ниже и изменить некоторую часть согласно вашей потребности.
brew unlink imagemagick brew install imagemagick@6 && brew link imagemagick@6 --force export PKG_CONFIG_PATH=/usr/local/Cellar/imagemagick@6/6.9.9-24/lib/pkgconfig gem install rmagick -v '2.15.4'
yah это решает мою проблему:
MacOS X Sierra:
brew uninstall imagemagick brew install imagemagick@6 brew link imagemagick@6 --force
$ brew remove imagemagick && brew install imagemagick $ brew uninstall pkg-config && brew install pkg-config $ brew unlink pkg-config && brew link pkg-config $ gem install rmagick
у меня еще нет репутации, чтобы оставить это как комментарий, улучшающий другой ответ, но ответ @Evgeniy28 работал для меня на Sierra только после установки pkg-config, который не устанавливается по умолчанию на новой машине Sierra.
Так:
brew install pkg-config brew uninstall imagemagick brew install imagemagick@6 brew link imagemagick@6 --force
успех:
$ gem install rmagick Building native extensions. This could take a while... Successfully installed rmagick-2.16.0 Parsing documentation for rmagick-2.16.0 Installing ri documentation for rmagick-2.16.0 Done installing documentation for rmagick after 4 seconds 1 gem installed
вот как я решил (после многих попыток и неудач) на macOS High Sierra 10.13.3 с доморощенного:
- похоже, что RMagick 2.16.0 не совместим с новейшей версией ImageMagick (версия 7):http://wordsandmagic.com/2017/09/01/RMagick-2-16-0-Error-MagickWand
- Я удалил imagemagick:
brew uninstall imagemagick
- затем я установил Imagemagick с этой формулой: https://gist.github.com/JagdeepSingh/4b03cbeab16cc0bc729bbc6d275402d3
gem install rmagick
Если вы уже установили старую версию Imagemagick, это должно работать:https://stackoverflow.com/a/41674363
в версии 7.0.7-1 Вы можете создать символическую ссылку, но ее компиляция завершится неудачей.
cd /usr/local/Cellar/imagemagick/7.0.7-1/include/ImageMagick-7 ln -s MagickWand/ wand ln -s MagicCore/ magick
что-то было сильно неправильно в моей системе, так плохо, что это было полностью f*d вверх, но я был, наконец, в состоянии установить RMagick для Ruby 1.8.7 снова после установки
- an старая версия ImageMagick с Homebrew
- новая Рубиновая версия 1.8.7
- новая версия GCC
установка новой версии Ruby с RVM
rvm install 1.8.7
также установлен новый компилятор GCC: он удалил старую версию GCC 4.6 и установлен GCC версии 4.9. По-видимому, GCC не смог найти правильные заголовки, несмотря на pkg-config.
Я полностью объясняю процесс установки в ImageMagick установить в centos .
в любом случае...
после установки установите Imagick & ImageMagick-devel & ImageMagick PHP library, как показано ниже:# yum install ImageMagick # yum install ImageMagick-devel # pecl install Imagick
перейти к /usr / include
cd /usr/include
важно: копировать папку с файлами из "в/usr/включать" на "/usr/местные/включать" для ImageMagick найти "отправки.h"
Я проверил это изменение на imagick-3.4.3(ImageMagick-7) и centos 6.5 и php56 и работает отлично ...
если вы уже установили " ImageMagick "несколько раз, сначала удалите их все и найдите папки" ImageMagick "и" imagick", очистите их и продолжите процесс установки с этим изменением.
используйте следующую команду, чтобы найти файл или папку:
find / -name 'ImageMagick*' find / -name 'imagick*'
и продолжить установку
прежде чем ниже строк не забудьте: перейдите в раздел " php.ini "найти" disable_functions " и очистить "proc_open, popen, proc_close" потому что сделать imagick нуждается в этих функциях, после завершения установки вы можете добавить эти функции в свой "disable_functions" на " php.ini-файл.# phpize # ./configure --with-php-config=/usr/local/php56/bin/php-config ...
удачи...
для версии Ubuntu > 12 и не используя homebrew,
wget http://www.imagemagick.org/download/<required_imagemagick_version> tar -xvf <path_to_your_downloaded_file>.tar.gz
Если вы получаете файлы ' 7z 'вместо' tar.GZ ' файлы в ссылке wget, затем
7z x <path_to_your_downloaded_file>.7z cd <path_to_your_downloaded_file>/ make ./configure sudo make install sudo ldconfig /usr/local/lib
затем вы можете возобновить свой пакет для RMagick.
нет необходимости связывать или отсоединять что-либо, следуя инструкциям из сценария установки brew:
brew install imagemagick@6 LDFLAGS="-L/usr/local/opt/imagemagick@6/lib" CPPFLAGS="-I/usr/local/opt/imagemagick@6/include" PKG_CONFIG_PATH="/usr/local/opt/imagemagick@6/lib/pkgconfig" gem install rmagick
во-первых, вам не нужно удалять imagemagick, если он имеет 6.X установлен, как показано ниже. Вы можете видеть, что текущий "main" является
7.0.7-8
но6.9.1-10
до сих пор нет.$ brew info imagemagick imagemagick: stable 7.0.7-8 (bottled), HEAD Tools and libraries to manipulate images in many formats https://www.imagemagick.org/ /usr/local/Cellar/imagemagick/6.9.1-10 (1,450 files, 17.5MB) Poured from bottle on 2015-07-26 at 09:10:58 /usr/local/Cellar/imagemagick/7.0.6-9 (1,522 files, 22.8MB) Poured from bottle on 2017-08-21 at 14:44:16 From: https://github.com/Homebrew/homebrew-core/blob/master/Formula
если у вас нет старого 6.x версия,затем установить imagemagick@6.
второе, не заставляйте ссылке imagemagick, особенно не 6. изменить: см. 1
Вам нужно установить PKG_CONFIG_PATH в дополнение к --with-opt-* флаги.это работает для меня на High Sierra с вышеупомянутой настройкой brew на Ruby 1.9.3-p551:
PKG_CONFIG_PATH=/usr/local/Cellar/imagemagick/6.9.1-10/lib/pkgconfig \ gem install rmagick -v '2.16.0' -- \ --with-opt-lib=/usr/local/Cellar/imagemagick/6.9.1-10/lib/ \ --with-opt-include=/usr/local/Cellar/imagemagick/6.9.1-10/include/ImageMagick-6/
построение ri docs терпит неудачу, но это несущественно.
1: строительные работы, путь dylib rmagick ищет неправильно, хотя. Поднял выпуск #278 уточнить, если это может быть исправлено. В противном случае ручного ссылка на libMagickWand и т. д. Необходимо. По-прежнему может быть безопаснее вручную связать определенные библиотеки, чем
brew link --force
хотя.