2013-03-25 2 views
10

Я понимаю, что этот вопрос задан намного раньше, но ни один из решений не работал для меня, и я действительно отчаялся прямо сейчас.Ruby gem rmagick не будет установлен на Mac OS X

Я пытаюсь получить rMagick для установки с использованием драгоценного камня для установки диаспоры. Я уже установил Imagick через доморощенного и при попытке запустить камень установить 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 

Я не очень опытный с драгоценным камнем и доморощенного и я интересно, если кто-то может помочь мне.

+0

Пожалуйста, включите вашу версию OS X, как это может сделать разницу в ответ. Мой ответ предполагает Горного Льва (10.8). – depa

+0

Прости, да, я бегу 10.8.2. – knurb

ответ

20

Запустите это (используя доморощенный), прежде чем пытаться установить драгоценный камень.

brew install imagemagick 
+0

Спасибо за этот ответ. Как я уже говорил в своем оригинальном посте, я уже пытался это сделать. Результаты были одинаковыми. Если это помогает, я попробовал еще раз, и это сообщение из установки для приготовления: ==> Загрузка http://downloads.sf.net/project/machomebrew/mirror/ImageMagick-6 Уже загружена:/Library/Caches/Homebrew/imagemagick-6.7.7-6.tar.bz2 ==> Патч patching file configure Hunk # 1 преуспел в 32371 (смещение 447 строк). ==>./ configure --disable-osx-universal-binary --without-perl -prefix =/usr/loca ==> make install Ошибка: пустая установка – knurb

+0

Что происходит, когда вы запускаете обновление для пива, а затем пилите доктора? – depa

+0

Я могу запустить эти команды с любыми проблемами, попробовал запустить gem insatll rmagick, и это все равно дает мне ту же ошибку. – knurb

0

Я обнаружил, что обновление моего Xcode до последней версии (4.6.1) на OSX 1.8.2 исправила эту проблему, и я успешно установил RMagick-2.13.2

+0

К сожалению, это не помогло. – knurb

3

У меня была аналогичная проблема, и это работал для меня:

$ 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

+0

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

+0

Это работает для меня, потому что я получил разные стеки ошибок из этого сообщения, только проверка для InitializeMagick() не удалась. –

1

Основной вопрос, кажется, становится ImageMagick правильно установлены и связаны между собой.

Эта страница была очень полезной для меня:

http://sethvargo.com/20110726/install-imagemagick-on-mountain-lion/

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

4

Я использую OS X Lion.

Я побежал brew doctor и увидел, что imagemagick был отсоединен, поэтому он сказал мне бежать brew link imagemagick.

Затем я закрыл и снова открыл терминал, и все сработало к счастью.

+0

Удивительный! Решите мою проблему! У меня есть отношения любви-ненависти с rmagick/imagemagick. Это такая боль, чтобы установить, но так приятно использовать. – Automatico

2

Убедитесь, когда вы делаете это:

$ 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/местные/Подвал/ImageMagick/версия/Библиотека

например:

ln -s libMagickWand-6.Q16.1.dylib libMagickWand.dylib 

и так далее

3

На Маверикс вы можете это сделать:

brew install pkgconfig 
brew uninstall imagemagick 
brew install imagemagick 
brew link imagemagick 
bundle install 

Этого достаточно. Я думаю.

0

Для меня, я должен был смотреть на выход, который в вашем случае является

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

2

Существуют различные сценарии, которые необходимо проверить при установке RMagick. Пожалуйста, проверьте следующее и подтвердите:

  1. Проверьте, не установлена ​​ли последняя версия 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 
    
  2. Убедитесь, что вы установили ImageMagick перед установкой RMagick.

    brew install imagemagick 
    
  3. Кроме того, убедитесь вы устанавливаете RMagick с совместимой версией ImageMagick. RMagick несовместим с последней версией imagemagick.

Больше к этому: вместо использования RMagick вы можете использовать MiniMagick, если вам просто нужно изменить размер, резкость, трансформировать существующие изображения. RMagick требуется, когда нам нужно создавать изображения, графики, рисунки и типографику. С системными ресурсами легче работать и намного легче, чем RMagick. RMagick потребляет огромное количество памяти.

9

Это менее разрушительный вариант с использованием доморощенного, rmagic также не работает с imagemacigk version 7, так и с варевом попробовать этот

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