Ответ 1
Запустите это (используя доморощенный), прежде чем пытаться установить драгоценный камень.
brew install imagemagick
Я понимаю, что этот вопрос задавался намного раньше, но ни один из решений не работал у меня, и я действительно отчаялся прямо сейчас.
Я пытаюсь получить rMagick для установки с использованием драгоценного камня для установки диаспоры. Я уже установил imagick через homebrew и, пытаясь запустить gem install rmagick, я получаю эту ошибку:
ERROR: Error installing rmagick:
ERROR: Failed to build gem native extension.
/Users/tobischweiger/.rvm/rubies/ruby-1.9.3-p385/bin/ruby extconf.rb
checking for Ruby version >= 1.8.5... yes
checking for gcc-4.2... yes
checking for Magick-config... no
Can't install RMagick 2.13.2. Can't find Magick-config in /Users/tobischweiger/.rvm/gems/[email protected]/bin:/Users/tobischweiger/.rvm/gems/[email protected]/bin:/Users/tobischweiger/.rvm/rubies/ruby-1.9.3-p385/bin:/Users/tobischweiger/.rvm/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin:/usr/local/git/bin
*** 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
--without-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/tobischweiger/.rvm/rubies/ruby-1.9.3-p385/bin/ruby
Gem files will remain installed in /Users/tobischweiger/.rvm/gems/[email protected]/gems/rmagick-2.13.2 for inspection.
Results logged to /Users/tobischweiger/.rvm/gems/[email protected]/gems/rmagick-2.13.2/ext/RMagick/gem_make.out
Я не очень опытен с драгоценными камнями и доморощенным, и мне интересно, может ли кто-нибудь помочь мне.
Запустите это (используя доморощенный), прежде чем пытаться установить драгоценный камень.
brew install imagemagick
Это менее разрушительная версия с использованием homebrew, rmagic также не работает с imagemacigk version 7, поэтому с помощью brew попробуйте это
brew install [email protected]
PKG_CONFIG_PATH=/usr/local/opt/[email protected]/lib/pkgconfig gem install rmagick
Я использую OS X Lion.
Я побежал brew doctor
и увидел, что imagemagick был отсоединен, поэтому он сказал мне запустить brew link imagemagick
.
Затем я закрыл и снова открыл терминал, и все сработало к счастью.
У меня была аналогичная проблема, и это сработало для меня:
$ cd /usr/local/Cellar/imagemagick/6.8.0-10/lib
$ ln -s libMagick++-Q16.7.dylib libMagick++.dylib
$ ln -s libMagickCore-Q16.7.dylib libMagickCore.dylib
$ ln -s libMagickWand-Q16.7.dylib libMagickWand.dylib
Надеюсь, что это поможет.
Кредит: https://coderwall.com/p/wnomjg
В Mavericks вы можете сделать это:
brew install pkgconfig
brew uninstall imagemagick
brew install imagemagick
brew link imagemagick
bundle install
Это достаточно. Я думаю.
Убедитесь, что вы сделаете следующее:
$ cd /usr/local/Cellar/imagemagick/6.8.0-10/lib
$ ln -s libMagick++-Q16.7.dylib libMagick++.dylib
$ ln -s libMagickCore-Q16.7.dylib libMagickCore.dylib
$ ln -s libMagickWand-Q16.7.dylib libMagickWand.dylib
что вы изменяете имена файлов, чтобы отразить вашу версию: вы можете увидеть имена файлов, посмотрев в папке lib здесь: cd/usr/local/Cellar/imagemagick/VERSION/lib
Пример:
ln -s libMagickWand-6.Q16.1.dylib libMagickWand.dylib
и т.д.
Существуют разные сценарии, которые необходимо проверить при установке RMagick. Проверьте и подтвердите:
Убедитесь, что вы не устанавливаете последнюю версию RMagick со старой версией ruby. т.е. рубином 1,8,7 или около того. Вы не можете установить последнюю версию RMagick со старой версией Ruby. Если это так, вы, вероятно, получите это сообщение об ошибке.
Building native extensions. This could take a while...
ERROR: Error installing rmagick:
ERROR: Failed to build gem native extension.
/Users/user/.rbenv/versions/1.8.7-p375/bin/ruby extconf.rb
Перед установкой RMagick убедитесь, что вы установили imagemagick.
brew install imagemagick
Также убедитесь, что вы устанавливаете RMagick с совместимой версией imagemagick. RMagick несовместим с последней версией imagemagick.
Подробнее: вместо использования RMagick вы можете использовать MiniMagick, если вам просто нужно изменить размер, затачивать, преобразовывать существующие изображения. RMagick требуется, когда нам нужно создавать изображения, графики, рисунки и типографику. С ним легче работать и намного легче на системных ресурсах, чем RMagick. RMagick потребляет огромное количество памяти.
Основная проблема заключается в том, чтобы правильно установить и связать imagemagick.
Эта страница была очень полезной для меня:
http://sethvargo.com/20110726/install-imagemagick-on-mountain-lion/
Я запускаю homebrew, и получение команды brew doctor
для запуска очистки было ключом к ее установке.
Я обнаружил, что обновление моего Xcode до последней версии (4.6.1) в OSX 1.8.2 исправило эту проблему, и я успешно установил rmagick-2.13.2
Для меня мне пришлось посмотреть результат, который в вашем случае
/Users/tobischweiger/.rvm/gems/[email protected]/gems/rmagick-2.13.2/ext/RMagick
В нем есть файл с именем mkmf.log
, в котором перечислены именно то, что он пытается скомпилировать, и ошибку. Для меня компоновщик не смог выполнить эту команду:
ld: library not found for -lMagickCore
Просмотр команды, которую он запускал, выглядел хорошо, за исключением самого конца, см. этот фрагмент:
-lMagickCore-6.Q16 -lMagickCore-6.Q16 -lruby-static -framework CoreFoundation -lMagickCore -lpthread -ldl -lobjc -lSystem /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/6.0/lib/darwin/libclang_rt.osx.a
Обратите внимание, что он получил результат от Magick-config
и использовал их, добавив -lMagickCore-6.Q16
, но он все еще пытался связать -lMagickCore
. Я думаю, что это побочный результат использования have_library
extconf. Важным для меня было то, что библиотеки libMagickCore.dylib
, предоставленной Homebrew, не было. Это может быть старая версия rubygems, и я думаю, что правильным решением было бы обновить функцию have_library
, но я исправил ее, создав символическую ссылку под названием libMagickCore.dylib
, которая указала на libMagickCore-6.Q16.dylib
.