Подтвердить что ты не робот

Ruby gem rmagick не будет установлен на Mac OS X

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

Я пытаюсь получить 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

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

4b9b3361

Ответ 1

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

brew install imagemagick

Ответ 2

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

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

Ответ 3

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

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

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

Ответ 4

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

$ 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

Ответ 5

В Mavericks вы можете сделать это:

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

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

Ответ 6

Убедитесь, что вы сделаете следующее:

$ 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

и т.д.

Ответ 7

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

Ответ 8

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

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

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

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

Ответ 9

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

Ответ 10

Для меня мне пришлось посмотреть результат, который в вашем случае

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