Не удается установить RMagick 2.13.1. Не удается найти MagickWand.h.

Когда я пытаюсь установить rmagick, я получаю следующее сообщение об ошибке:

Can't install RMagick 2.13.1. Can't find MagickWand.h.
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers.  Check the mkmf.log file for more
details.  You may need configuration options.

Я нахожусь на Mac OSX 10.6.8, ruby ​​1.9.2p290, rvm 1.10.2.

Может ли кто-нибудь помочь мне, пожалуйста, решить эту проблему.

Ответ 1

У меня была аналогичная проблема с запуском

$ gem install rmagick

Во-первых, у вас есть приложение imagemagick? Если вы не уверены, запустите

$ convert --version

Если вы это сделаете, вы, вероятно, либо установили его с помощью fink или macports (возможно, homebrew?). Что происходит, так это то, что rvm не может найти каталог imagemagick.

После прочтения https://superuser.com/questions/361435/i-have-compiled-imagemagick-on-my-centos-and-rmagick-wont-install Я экспортировал путь imagemagick, добавив

$ export PKG_CONFIG_PATH="/opt/local/lib/pkgconfig:$PKG_CONFIG_PATH"

для моего ~/.bash_profile, поиска нового профиля, а затем снова запустить gem install rmagick.

Это сработало для меня после того, как я это сделал.

Ответ 2

Если вы работаете в Ubuntu, то установив этот пакет, я решил:

sudo apt-get install libmagickwand-dev

Ответ 3

Похоже, что ImageMagick 7 изменил путь к файлу.

При построении rmagick, так как он содержит файл как wand/MagickWand.h Нет обходных путей. На данный момент похоже на изображение ImageMagick 6.

В Mac OS X (я тестировал на Sierra), я использовал HomeBrew versions tap like:

brew tap homebrew/versions
brew install [email protected]

Затем используйте путь, указанный выше:

PKG_CONFIG_PATH=/usr/local/opt/[email protected]/lib/pkgconfig gem install rmagick

Для установки с ImageMagick 6.

Ответ 4

Я не хотел связываться с переменными окружения, так как хотел, чтобы укладчик мог скомпилировать этот камень самостоятельно на машине CI. Вместо этого я использовал Homebrew для установки pkg-config:

brew install pkgconfig

и в следующий раз, когда я попытался скомпилировать RMagick gem, он нашел файл заголовка без проблем.

(Это pkg-config 0.28, ImageMagick 6.8.0-10 и RMagick 2.13.2, все на Mountain Lion.)

Ответ 5

исправить эту настройку, включить путь к текущей установке imagemagick:

Установите ImageMagick с помощью brew

brew install imagemagick

найти библиотеку

$ mdfind MagickWand.h
/usr/local/Cellar/imagemagick/6.7.5-7/include/ImageMagick/wand/MagickWand.h

Установить rmagick gem

$ C_INCLUDE_PATH=/path/MagickWand.h gem install rmagick

Пример:

$ C_INCLUDE_PATH=/usr/local/Cellar/imagemagick/6.7.5-7/include/ImageMagick/ gem install rmagick

Ответ 6

Я отметил это как фаворит, потому что, похоже, он вернулся, чтобы укусить меня каждой новой системой, в которой мне нужно установить RMagick (и прошло время, а номера версий развернуты).

Mac OS X 10.8.4

rvm 1.22.3

рубин-2.0.0-P247

Установленные инструменты разработчика Xcode 4.6.3

$ brew install imagemagick
==> /usr/local/Cellar/imagemagick/6.8.6-3

$ brew install pkgconfig
==> /usr/local/Cellar/pkg-config/0.28

$ C_INCLUDE_PATH=/usr/local/Cellar/imagemagick/6.8.6-3/include/ImageMagick-6 PKG_CONFIG_PATH=/usr/local/Cellar/imagemagick/6.8.6-3/lib/pkgconfig/ gem install rmagick
Successfully installed rmagick-2.13.2

Большое спасибо всем, кто добавил полезные ответы выше!

Ответ 7

Пользователи Mac, использующие brew

Если вы можете использовать v6 ImageMagick вместо 7, вы можете попробовать это

brew install [email protected] --force && brew link [email protected] --force

Обратите внимание, что это отменит вашу существующую установку IM, поэтому будьте осторожны, если у вас есть другие проекты на вашем компьютере с помощью ImageMagick без проблем.

Ответ 8

Для моего собственного и другого назидания, я преодолел ошибку в magicwand.h, используя предложение xonico. MDFind плюс C_INCLUDE_PATH. Тем не менее, он тогда дал мне ошибку о MagickCore.pc. Моя последняя команда, чтобы получить эту работу, должна была включать оба типа:

 C_INCLUDE_PATH=/usr/local/Cellar/imagemagick/6.7.7-6/include/ImageMagick/ PKG_CONFIG_PATH=/usr/local/Cellar/imagemagick/6.7.7-6/lib/pkgconfig/ gem install rmagick

Очевидно, что ваши пути будут зависеть от того, используете ли вы brew, как я, и какую версию imagemagick вы устанавливаете. Кроме того, необходимо было установить инструменты командной строки xcode, как упомянули другие.

Спасибо за все сообщения! Я размышляю над вашими ответами, так как это помогло мне!

Ответ 9

Для Ubuntu:

sudo apt-get install imagemagick libmagickwand-dev
gem install rmagick

Ответ 10

У меня возникла проблема после обновления Maverics. Он потерял много связей. В моем случае мне пришлось обновить ссылки на pkg-config

brew unlink pkg-config
brew link pkg-config

Затем установка rmagick работала как шарм.

Ответ 11

Я обновился до Mountain Lion и начал получать эту же проблему. Мне пришлось переустановить brew, XCode, инструменты XCode - почти всю среду!

В конце концов я решил эту проблему, используя ответ от phopkins выше...

brew install pkgconfig

Как только это было успешно завершено (сначала мне пришлось удалить старые символические ссылки), я смог успешно установить жемчужину RMagick

Ответ 12

Для пользователей Ubuntu: Это никогда не будет сделано непосредственно на Ubuntu. Сначала вы должны установить пакеты для запуска этой команды...:

sudo apt-get install libmagickwand-dev  

... и затем установите:

gem install rmagick

Вы можете получить ту же самую проблему. Для этого попробуйте очистить свой apt-репозиторий и сначала удалить все сломанные пакеты:

sudo apt-get update
sudo apt-get autoclean
sudo apt-get clean
sudo apt-get autoremove

Если система идентифицирует любые сломанные пакеты, принудительно удалите их (замените package_name на свой):

sudo dpkg --remove -force --force-remove-reinstreq package_name

Затем снова установите все недостающие пакеты.:)

Ответ 13

Это работало для меня на Mac OsX

Установите Imagemagick:

brew remove imagemagick
brew install imagemagick

Убедитесь, что pkg-config правильно связан:

brew uninstall pkg-config
brew install pkg-config
brew unlink pkg-config && brew link pkg-config

Установить драгоценный камень

gem install rmagick

Ответ 14

Помог мне на Debian Wheezy 64bit

 apt-get install libmagickcore-dev libmagickwand-dev

Ответ 15

Проблема для меня заключалась в том, что rmagick устарел и не обновляется регулярно. Если у вас слишком новая версия ImageMagick, она может быть несовместимой. Проверьте свою версию ImageMagick, используя следующее:

$ convert --version

Если версия ImageMagick > 7, она не совместима с rmagick. Пользователь получит такие ошибки, как

Can't install RMagick 2.16.0. Can't find MagickWand.h.
*** extconf.rb failed *** 

Вернитесь к шестой версии ImageMagick, пока они не обновят rmagick, чтобы быть совместимым с семьей версии ImageMagick. Кто-то разместил соответствующую версию (6) в отдельном камне - "imagemagick @6".

Если вам нужна rmagick для работы, но в настоящее время есть версия imagemagick версии 7 или выше, выполните следующие действия:

$ gem install [email protected]
$ brew unlink imagemagick
$ brew link [email protected] --force

Ответ 16

Попробуйте переустановить как Imagemagick, так и PkgConfig. Это должно исправить это для Mavericks

  • brew update && brew upgrade
  • brew reinstall imagemagick
  • brew reinstall pkgconfig

Ответ 17

Я действительно боролся с этим на OS X Mountain Lion (после обновления от Lion), и ни одно из предложений относительно C_INCLUDE_PATH, PKG_CONFIG_PATH, ln'ing различных файлов и т.д. работало. В тот же день, когда я перешел на Mountain Lion, я также обновил XCode до 4.5.2, но на самом деле я не слишком много думал об этом.

В конце концов я перестала пытаться установить RMagick и должна была передать работу коллеге.

Затем, случайно, я обнаружил, что пытаюсь использовать установку пакета в другом проекте, и я не смог установить json gem, потому что "make" не удалось найти. Я проверил это и обнаружил, что вам нужно перейти в XCode → Настройки → Загрузки и установить инструменты командной строки, чтобы снова заставить работать. Драгоценный камень json установлен отлично.

Затем я сделал паузу... и попробовал

gem install rmagick

Еще раз. Он отлично работал.

Ответ 18

для приложения на основе рельсов, я нашел это

sudo apt-get install -y libmagickwand-6-headers
C_INCLUDE_PATH=/usr/include/ImageMagick-6 gem install rmagick
bundle update rmagick
bundle install

работал над debian jessie

Ответ 19

C_INCLUDE_PATH=/usr/local/Cellar/imagemagick/6.7.7-6/include/ImageMagick gem install rmagick

Ответ 20

В linux ОС:

C_INCLUDE_PATH=/usr/local/include/ImageMagick-6/ gem install rmagick

Создание собственных расширений. Это может занять некоторое время...

ERROR:  Error installing rmagick:
    ERROR: Failed to build gem native extension.

        /home/vagrant/.rvm/rubies/ruby-1.9.3-p0/bin/ruby extconf.rb
...
Package MagickCore was not found in the pkg-config search path.
Perhaps you should add the directory containing `MagickCore.pc'

то

export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig"

в моем .bashrc файле, чтобы забрать MagickCore.pc, а затем создал две символические ссылки:

ln -s /usr/local/include/ImageMagick/wand /usr/local/include/ImageMagick-6/wand
ln -s /usr/local/include/ImageMagick/magick /usr/local/include/ImageMagick-6/magick

Сейчас:

$ gem install rmagick
Building native extensions.  This could take a while...
Successfully installed rmagick-2.13.2
1 gem installed

Бум все работает нормально.

Ответ 21

Я столкнулся с этим, потому что я запустил помощник по миграции OS X, и после миграции ничего не переделали. Вы должны проверить вывод Wand-config --ldflags --libs. В моем случае он дал:

$ Wand-config --ldflags --libs
/usr/local/bin/Wand-config: line 50: pkg-config: command not found
/usr/local/bin/Wand-config: line 53: pkg-config: command not found

После перезагрузки pkg-config, libpng и libfreetype это стало:

$ Wand-config --ldflags --libs
-L/usr/local/Cellar/imagemagick/6.8.8-9/lib -lMagickWand-6.Q16 -lMagickCore-6.Q16 
-L/usr/local/Cellar/imagemagick/6.8.8-9/lib -lMagickWand-6.Q16 -lMagickCore-6.Q16 

И затем:

$ gem install rmagick
Building native extensions.  This could take a while...
Successfully installed rmagick-2.13.2
Parsing documentation for rmagick-2.13.2
Done installing documentation for rmagick after 4 seconds
1 gem installed

Ответ 22

В arch linux после установки imagemagick @6 gem не смог установить пакет rmagick и получил ошибку ниже.

Can't install RMagick 2.16.0. Can't find MagickWand.h

Работал для меня, используя следующие шаги

  1. добавлен путь pkgconfig к .bashrc

    export PKG_CONFIG_PATH = "/usr/lib/imagemagick6/pkgconfig"

  2. Созданы две символические ссылки, как показано ниже

    ln -s/usr/include/ImageMagick-6/wand/usr/include/ImageMagick-6/wand

    ln -s/usr/local/include/ImageMagick/magick/usr/include/ImageMagick-6/magick

Ответ 23

Мне было трудно получить эту же проблему для работы, когда у меня была установка ImageMagick по умолчанию на OSX 10.8 (без доморощенного или macports). Никакая комбинация предложений в этом потоке или потоках, связанных с этим потоком, не работала для меня (конечно, изменяя пути для моей локальной установки).

Я просто удалил установку ImageMagick 6 по умолчанию и затем переустановил ее с помощью macports. Моя установка rmagick работала сразу же после каких-либо других изменений.

Ответ 24

на OSX Maverick 10.9.1 мне потребовались годы, чтобы понять это, но я решил эти проблемы следующим образом:

nano /etc/paths

изменения:

/usr/bin
/bin
/usr/sbin
/sbin
/usr/local/bin

в:

/usr/local/bin
/usr/bin
/bin
/usr/sbin
/sbin

чтобы сначала загрузился локальный материал, например 'brew'.

теперь я ударил 'brew doctor' в терминал, чтобы увидеть, если что-то испортилось

если вы получите следующий результат   Ваша система готова к brew. все в порядке. если нет, то расскажу, что делать. Подобно тому, как раздавать неподготовленные вещи, сломанные библиотеки, чистые символические ссылки и многое другое.

Когда вы готовы к brew, вам понадобится ghostscript (для pdf файлов), libpng, imagemagick через brew.

то вы можете с радостью напечатать: "gem install rmagick", если вы не убили свою рубиновую установку. Но это легко переустановить с помощью очищенного brew.

PS: Другая полезная команда: "convert", чтобы показать вам, какая версия imagemagick используется системой.

а также --version

поэтому, если вы установили git через brew и выполните 'git --version', и он вернет некоторую версию apple git, ваш путь загрузки сломан...

Ответ 25

В Mac OS X 10.9 попробуйте обновить Xcode, если есть предупреждение об этом.
  $ brew врач
Я нашел предупреждение, сделав:
  $ sudo/Developer/Library/uninstall-development-folder

Затем попробуйте:
  $ bundle install
снова

Это сработало для меня.

Ответ 26

В CentOS 6.5 x64 это было довольно просто:

yum install ImageMagick ImageMagick-devel

gem install rmagick -v '2.13.2'

Ответ 27

Я смог исправить это, обновив до 2.13.2

Ответ 28

В параметрах brew не удалось установить rmagick 2.13.1 на yosemite 10.10

это сработало получить последнюю версию RVM

\ curl -sSL https://get.rvm.io | bash -s stable --ruby rvm install 2.1.1 Использование rvm 2.1.1

загрузить и установить файл пакета http://cactuslab.com/imagemagick

(Я использовал пацифиста для установки)

Подтвердить расположение файла MagickCore.pc

mdfind magickcore.pc

например./opt/ImageMagick/lib/pkgconfig/MagickCore.pc

Загрузка файла rmagick-2.15.2.gem вручную https://rubygems.org/gems/rmagick/versions/2.15.2

из этого dir

sudo C_INCLUDE_PATH =/opt/ImageMagick/include/ImageMagick-6/PKG_CONFIG_PATH =/opt/ImageMagick/lib/pkgconfig gem install --local rmagick-2.15.2.gem

Если у вас возникли проблемы с установщиком пакетов, которые все еще жалуются на 2.13.1

В обновлении файла gem file/gem.lock ВСЕ зависимости

rmagick (2.13.1) → rmagick ( >= 2.15.2)

Ответ 29

Возможно, вы устанавливаете ImageMagick версии 7.xx, которая генерирует разные имена папок в вашей папке usr/lib/local/include/ImageMagick7.xx.

В версии ImageMagick6.xx у нас есть magick папка с именем wand, где в версии ImageMagick7.xx названа эта MagickCore, MagickWand. Так что это обновление вызывает проблему при установке некоторых драгоценных камней, как здесь. Который использует magick/some_header.h или wand/some_header.h (означает, что они не обновляются с новой версией 7.xx ImageMagick).

Вот почему мы получаем эту ошибку:


    checking for outdated ImageMagick version (<= 6.4.9)... no
    checking for presence of MagickWand API (ImageMagick version >= 6.9.0)... no
     .... 
    checking for wand/MagickWand.h... no

и в файле журнала что-то вроде этого:

error: 'MagickCore/method-attribute.h' file not found
#include "MagickCore/method-attribute.h"
         ^

Решение

Установите версию ImageMagick6.xx в своей системе с официального сайта: https://www.imagemagick.org/download/ и установите ее с помощью следующих команд (после распаковки zip/tar):

./configure
make 
make install

Тогда делай

gem install rmagick

Это будет работать.


Вам также может понадобиться установить следующие символические ссылки, прежде чем они смогут работать:

ln -s /usr/local/lib/libMagickWand-6.Q16.so.6 /home/marcelo/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/extensions/x86_64-linux/2.2.0-static/rmagick-2.16.0/libMagickWand-6.Q16.so.6
sudo ln -s /usr/local/lib/libMagickWand-6.Q16.so.6 /usr/lib
ln -s /usr/local/lib/libMagickCore-6.Q16.so.6 /home/marcelo/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/extensions/x86_64-linux/2.2.0-static/rmagick-2.16.0/libMagickCore-6.Q16.so.6
sudo ln -s /usr/local/lib/libMagickCore-6.Q16.so.6 /usr/lib

Ответ 30

Получена та же ошибка для сборки Alpine 3.9. Поставляется с ImageMagick 7.0.8.38-r0

Чтобы исправить это, вы либо используете Alpine 3.5 с ImageMagick 6.9.6.8-r1:

FROM alpine:3.5

Или установите ImageMagick 6.9.6.8-r1 с репозиторием пакетов для 3.5:

RUN apk add imagemagick-dev=6.9.6.8-r1 --repository http://dl-3.alpinelinux.org/alpine/v3.5/main/

В репозитории rmagick существует открытая проблема, касающаяся неудачных сборок для ImageMagick 7.0.x. так что, надеюсь, это будет исправлено в ближайшее время.