Bundle не может установить RMagick gem на Mac OSX 10.7

Я установил ImageMagick с помощью скрипта установки ImageMagick https://github.com/maddox/magick-installer. Я на OSX Lion 10.7, использую RVM, Ruby 1.9.3p125.

Проблема похоже с MagickWand.h вот полный лог

/Users/pdjimeno/.rvm/rubies/ruby-1.9.3-p125/bin/ruby extconf.rb
checking for Ruby version >= 1.8.5... yes
extconf.rb:128: Use RbConfig instead of obsolete and deprecated Config.
checking for /usr/bin/gcc... yes
checking for Magick-config... yes
checking for ImageMagick version >= 6.4.9... yes
checking for HDRI disabled version of ImageMagick... yes
Package MagickCore was not found in the pkg-config search path.
Perhaps you should add the directory containing `MagickCore.pc'
to the PKG_CONFIG_PATH environment variable
No package 'MagickCore' found
Package MagickCore was not found in the pkg-config search path.
Perhaps you should add the directory containing `MagickCore.pc'
to the PKG_CONFIG_PATH environment variable
No package 'MagickCore' found
Package MagickCore was not found in the pkg-config search path.
Perhaps you should add the directory containing `MagickCore.pc'
to the PKG_CONFIG_PATH environment variable
No package 'MagickCore' found
Package MagickCore was not found in the pkg-config search path.
Perhaps you should add the directory containing `MagickCore.pc'
to the PKG_CONFIG_PATH environment variable
No package 'MagickCore' found
checking for stdint.h... yes
checking for sys/types.h... yes
checking for wand/MagickWand.h... no

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.

Provided configuration options:
    --with-opt-dir
    --with-opt-include
    --without-opt-include=${opt-dir}/include
    --with-opt-lib
    --without-opt-lib=${opt-dir}/lib
    --with-make-prog
    --without-make-prog
    --srcdir=.
    --curdir
    --ruby=/Users/pdjimeno/.rvm/rubies/ruby-1.9.3-p125/bin/ruby

person PabloJimeno    schedule 08.04.2012    source источник
comment
superuser.com/questions/400179/   -  person Niels Kristian    schedule 14.06.2012


Ответы (12)


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

brew install imagemagick

Это то, что у меня есть в моей системе:

imagemagick 6.7.1-1
http://www.imagemagick.org
Depends on: jpeg, libtiff, little-cms, jasper
/usr/local/Cellar/imagemagick/6.7.1-1 (1389 files, 32M)
http://github.com/mxcl/homebrew/commits/master/Library/Formula/imagemagick.rb

И у меня такие же настройки, как у вас, с точки зрения машины и руби-версии.

person Ekampp    schedule 08.04.2012
comment
Imagemagick уже установлен, думаю проблема не в этом. - person PabloJimeno; 08.04.2012
comment
Мне кажется проблема именно с установкой. Что некоторые заголовки находятся не там, где должны быть, или вообще отсутствуют. Я предполагаю, что просто удалить imagemagick и установить его с помощью brew проще, чем отлаживать эту довольно сложную трассировку стека. Но подстраивайтесь под себя =) - person Ekampp; 08.04.2012

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

Установите ImageMagick с пивом

brew install imagemagick

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

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

Установить гем rmagick

$ C_INCLUDE_PATH=/path gem install rmagick

пример:

$ C_INCLUDE_PATH=/usr/local/Cellar/imagemagick/6.7.5-7/include/ImageMagick/ gem install rmagick
person xonico    schedule 17.05.2012
comment
То же самое. Использован последний пример, заканчивающийся в каталоге ImageMagick/. - person agmcleod; 28.06.2012
comment
Строка C_INCLUDE_PATH=/usr/local/Cellar/imagemagick/6.7.5-7/include/ImageMagick/ gem install rmagick позволила мне успешно установить rmagick. Это самый точный ответ. - person Francisco Quintero; 10.12.2013
comment
В любом случае это может работать в любом случае, но запуск find /usr/local/Cellar -name MagickCore.pc и установка переменной среды PKG_CONFIG_PATH решили эту проблему для меня. - person acobster; 16.09.2014

Если вы получаете Пакет xxx не найден.

Найдите пакет и добавьте его путь к переменной PKG_CONFIG_PATH в файле ~/.bash_login или ~/.bash_profile.

Пример:

Если вы получаете сообщение об ошибке:

Package MagickCore was not found in the pkg-config search path.

Найдите, где находится файл:

$ mdfind magickcore.pc
/usr/local/homebrew/Cellar/imagemagick/6.7.7-6/lib/pkgconfig/MagickCore.pc

Добавьте в свой bash_login или bash_profile:

export PKG_CONFIG_PATH="/opt/local/lib/pkgconfig:/usr/local/homebrew/Cellar/imagemagick/6.7.7-6/lib/pkgconfig/:$PKG_CONFIG_PATH"

не забудьте указать источник файла bash_login/profile

person Gerry Eng    schedule 15.09.2012
comment
Единственное, что сработало для меня, пробовал все вышеперечисленное. Но только PKG_CONFIG_PATH=/usr/local/Cellar/imagemagick/6.7.7-6/lib/pkgconfig/ gem install rmagick добился цели. - person prikha; 13.12.2012
comment
Используя sudo 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, я смог завершить установку rmagick. Однако были и другие проблемы, и в конечном итоге потребовалось отсоединение и переустановка imagemagick. Ruby является более зрелым, чем Node.js и другие, но переключение между различными версиями Ruby и Gems по-прежнему не является простым. - person james_womack; 28.03.2013
comment
Этот работал на меня. Я на Mountain Lion с доморощенным + rbenv. - person yagooar; 29.04.2013
comment
C_INCLUDE_PATH не сработало, но помогло, спасибо! - person Ivan Linko; 17.07.2014

На момент написания статьи imagemagick 7 была версией по умолчанию, установленной через brew install imagemagick, но она несовместима с rmagick. Исправьте это:

  1. Удалить текущую установленную версию imagemagick с доморощенным

brew uninstall imagemagick

  1. Установите imagemagick 6:

brew install imagemagick@6

  1. Запустите установку gem с переменной pkgconfig (может потребоваться sudo в зависимости от вашей конфигурации)

PKG_CONFIG_PATH=/usr/local/opt/imagemagick@6/lib/pkgconfig gem install rmagick

person Keegan Brown    schedule 21.04.2017

Также нашел решение с использованием доморощенного:

brew remove --force pkg-config
brew install pkg-config

а потом

gem install rmagick
person CodeGroover    schedule 04.06.2014

1) установить установщиком

http://cactuslab.com/imagemagick/

2) попробуйте гем установить rmagick

при проверке на wand/MagickWand.h... нет
типа

mdfind MagickWand.h

найти что-то вроде

/Users/user/ImageMagick-6.8.3/include/ImageMagick-6/wand/MagickWand.h

и введите терминал

C_INCLUDE_PATH=/Users/user/ImageMagick-6.8.3/include/ImageMagick-6/ gem install rmagick

если после этого у вас появляется эта ошибка (потому что она была) «Пакет MagickCore не найден в пути поиска pkg-config».

тип

mdfind MagickCore.pc

найдите что-нибудь вроде /opt/ImageMagick/lib/pkgconfig/MagickCore.pc

и, наконец, в терминальном типе:

PKG_CONFIG_PATH=/opt/ImageMagick/lib/pkgconfig/ gem install rmagick
person Andrey Yasinishyn    schedule 28.03.2013
comment
Спасибо, это решение сработало для меня на Mac PKG_CONFIG_PATH=/opt/ImageMagick/lib/pkgconfig/ gem install rmagick - person Ahmad Hussain; 13.02.2014

У меня сработало решение Андрея Ясинишина:

mdfind MagickCore.pc

найдите что-нибудь вроде /opt/ImageMagick/lib/pkgconfig/MagickCore.pc

и, наконец, в терминальном типе:

PKG_CONFIG_PATH=/opt/ImageMagick/lib/pkgconfig/ gem install rmagick
person Ahmad Hussain    schedule 13.02.2014

Когда я столкнулся с этой проблемой, он жаловался, что не может найти MagickCore.pc, поэтому я сделал это;

$ mdfind MagickCore.h
/usr/local/Cellar/imagemagick/6.8.0-10/include/ImageMagick/magick/MagickCore.h
/usr/local/Cellar/imagemagick/6.7.7-6/include/ImageMagick/magick/MagickCore.h

$ export PKG_CONFIG_PATH=/usr/local/Cellar/imagemagick/6.8.0-10/lib/pkgconfig/
$ gem install rmagick

и это сработало!

person Dan Higham    schedule 13.04.2013

Я пробовал все, но в итоге решение было следующим:

brew uninstall --force imagemagick # удаляет все версии

тогда

brew install imagemagick@6

наконец

gem install rmagick

person Pragmatiq    schedule 31.05.2017

Как бы то ни было, у меня была эта проблема с Ruby ree-1.8.7-2012-02. Вот как я это исправил:

Я удалил ImageMagick и переустановил его.

brew remove imagemagick 
brew install imagemagick --disable-openmp --build-from-source

Затем я добавил эти символические ссылки в /usr/local/Cellar/imagemagick/6.8.9-7/lib/.

ln -s libMagick++-6.Q16.5.dylib libMagick++.dylib
ln -s libMagickCore-6.Q16.2.dylib libMagickCore.dylib
ln -s libMagickWand-6.Q16.2.dylib libMagickWand.dylib

Затем я удалил версию Ruby и переустановил ее.

rvm remove ree-1.8.7-2012-02
rvm install ree-1.8.7-2012-02

Наконец-то установил Gem

gem install rmagick -v '2.12.2'

Надеюсь это поможет.

person Hunter    schedule 21.10.2014

Для пользователей Эль-Капитан,

Необходимо включить как PKG_CONFIG_FILE, так и C_INCLUDE_PATH. Команда, которая сработала для меня:

sudo C_INCLUDE_PATH=/usr/local/Cellar/imagemagick/6.9.2-4/include/ImageMagick/ PKG_CONFIG_PATH=/usr/local/Cellar/imagemagick/6.9.2-4/lib/pkgconfig/ gem install rmagick

person Rahul Shah    schedule 01.12.2015
comment
6.9.2-4 папки меняются в зависимости от установленной версии imagemagic. В противном случае работает как шарм. - person drKreso; 25.08.2016

Мне пришлось добавить обе переменные env, чтобы все заработало. Что-то вроде этого

C_INCLUDE_PATH=/usr/local/Cellar/imagemagick/6.7.7-6/include/ImageMagick/ PKG_CONFIG_PATH=/opt/local/lib/pkgconfig:/usr/local/Cellar/imagemagick/6.7.7-6/lib/pkgconfig/ gem install rmagick 
person BTR Naidu    schedule 23.05.2013