Rails - невозможно установить RMagick 2.16.0. Не удалось найти MagickWand.h

Я понимаю, что этот вопрос задавался много раз раньше, однако я пробовал все доступные ответы безрезультатно. Журнал ошибок выглядит следующим образом:

have_header: checking for wand/MagickWand.h... -------------------- no

"gcc -E -I/Users/mark/.rvm/rubies/ruby-2.3.3/include/ruby-2.3.0/x86_64-darwin16 -I/Users/mark/.rvm/rubies/ruby-2.3.3/include/ruby-2.3.0/ruby/backward -I/Users/mark/.rvm/rubies/ruby-2.3.3/include/ruby-2.3.0 -I.  -DMAGICKCORE_HDRI_ENABLE=1 -DMAGICKCORE_QUANTUM_DEPTH=16 -DMAGICKCORE_HDRI_ENABLE=1 -DMAGICKCORE_QUANTUM_DEPTH=16 -I/usr/local/Cellar/imagemagick/7.0.4-8/include/ImageMagick-7  -DMAGICKCORE_HDRI_ENABLE=1 -DMAGICKCORE_QUANTUM_DEPTH=16 -DMAGICKCORE_HDRI_ENABLE=1 -DMAGICKCORE_QUANTUM_DEPTH=16 -I/usr/local/Cellar/imagemagick/7.0.4-8/include/ImageMagick-7  conftest.c -o conftest.i"
conftest.c:3:10: fatal error: 'wand/MagickWand.h' file not found
#include <wand/MagickWand.h>
     ^
1 error generated.
checked program was:
/* begin */
1: #include "ruby.h"
2: 
3: #include <wand/MagickWand.h>
/* end */

После запуска mdfind MagickWand.h я вижу, что путь:

/usr/local/Cellar/imagemagick/7.0.4-8/include/ImageMagick-7/MagickWand/MagickWand.h

Затем я запускаю:

C_INCLUDE_PATH=/usr/local/Cellar/imagemagick/7.0.4-8/include/ImageMagick-7/MagickWand/ gem install rmagick

Однако получайте то же сообщение, что и раньше.

Любая помощь для решения этой проблемы очень ценится.

Ответ 1

У меня была такая же проблема около месяца, Mark (с момента обновления Imagemagick 7). Я использую homebrew на OSX Sierra.

Для будущих посетителей этого вопроса вы можете попробовать связать и отменить pkgconfig (brew unlink pkgconfig && brew link pkgconfig) или указать путь, как описывает Mayur, но если они не работают, вам нужно будет установить Imagemagick 6 из источника, поскольку Mark имеет сделано:

$ brew uninstall imagemagick
$ brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/6f014f2b7f1f9e618fd5c0ae9c93befea671f8be/Formula/imagemagick.rb

Я полагаю, что проблема в конечном итоге лежит на pkgconfig, поэтому, когда вы видите обновление для pkgconfig, это должно быть подсказкой, чтобы повторить попытку.

Ответ 3

Imagemagick 7, похоже, не сотрудничает. Вот что я нашел, у меня это работает:

brew update
brew rm imagemagick
brew install [email protected]
brew link [email protected] --force
bundle

Если вы не хотите принудительно устанавливать ссылку, вы также можете сделать следующее:

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

за @Leo комментарий

Пожалуйста, посмотрите на этот выпуск GitHub для более подробной информации.

Ответ 4

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

$ 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.

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

Ответ 5

После долгих проб и ошибок, похоже, проблема заключается в том, что ImageMagick 7 не играет хорошо с OS Sierra. Я понизился до 6 и теперь отлично работает.

Ответ 7

Вот что сработало для меня (Это специальный имиджмейкер без зависимости от Perl)

$ brew unlink pkg-config && brew reinstall pkg-config
$ brew uninstall imagemagick
$ brew install https://gist.githubusercontent.com/rootux/12cf343688b4ac28b2e9ae5f06827856/raw/3b678d601bef0902cb7ff6d9cc01b86dfd1f7932/imagemagick.rb

Я получаю "Error: imagemagick: Unsupported special dependency :perl" и у меня возникли проблемы с pkg-config

Ответ 8

Получена та же ошибка для сборки 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. так что, надеюсь, это будет исправлено в ближайшее время.