Не удается установить 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
Работал для меня, используя следующие шаги
-
добавлен путь pkgconfig к .bashrc
export PKG_CONFIG_PATH = "/usr/lib/imagemagick6/pkgconfig"
-
Созданы две символические ссылки, как показано ниже
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. так что, надеюсь, это будет исправлено в ближайшее время.