RMagick жалуется на libMagickCore.5.dylib не найден в OSX

после запуска brew upgrade imagemagick, когда я запустил rails s, я получу

/Users/tomi/.rvm/gems/[email protected]/gems/activesupport-4.0.0/lib/active_support/dependencies.rb:228:in `require': dlopen(/Users/tomi/.rvm/gems/[email protected]/gems/rmagick-2.13.2/lib/RMagick2.bundle, 9): Library not loaded: /usr/local/lib/libMagickCore.5.dylib (LoadError)
  Referenced from: /Users/tomi/.rvm/gems/[email protected]/gems/rmagick-2.13.2/lib/RMagick2.bundle
  Reason: image not found - /Users/tomi/.rvm/gems/[email protected]/gems/rmagick-2.13.2/lib/RMagick2.bundle

Я использую Carrierwave gem с RMagick, OS - OSX Moutain Lion

Ответы

Ответ 1

спасибо для бит несвязанного ответа найдено здесь Я могу это исправить:

1/поиск этой библиотеки в системе

sudo find / -name "libMagickCore.5.dylib" -print

Я нашел мой в /usr/local/Cellar/imagemagick/6.7.7-6/lib/libMagickCore.5.dylib

2/свяжите эту библиотеку с требуемым путем

ln /usr/local/Cellar/imagemagick/6.7.7-6/lib/libMagickCore.5.dylib /usr/local/lib/libMagickCore.5.dylib

Ответ 2

Кто-то еще борется с этим прямо сейчас (январь 2017) - RMagick 2.15.4 не может быть построен с ImageMagick 7.0.x

Сначала сделайте следующее:

brew uninstall ImageMagick
gem uninstall rmagick

Во-вторых, см. https://github.com/rmagick/rmagick/issues/256 и прочитайте ответ hristozov, а именно:

brew rm imagemagick
cd "$(brew --prefix)/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/"
git checkout 6f014f2b7f1f9e618fd5c0ae9c93befea671f8be imagemagick.rb
brew install imagemagick
brew pin imagemagick
git reset --hard

Это заставит доморощенного использовать /usr/local/Cellar/imagemagick/ 6.9.7-3

В-третьих,

gem install rmagick

Ответ 3

1 brew удалить ImageMagick

2 brew установить ImageMagick

3 gem удалить rmagick (все версии)

4 gem install rmagick

работал у меня

Ответ 4

Большое спасибо! У меня была та же проблема:

$ perl -le 'use Image::Magick'

Невозможно загрузить '/Library/Perl/5.16/darwin-thread-multi-2level/auto/Image/Magick/Magick.bundle' для модуля Image:: Magick: dlopen (/Library/Perl/5.16/darwin-thread-multi-2level/auto/Image/Magick/Magick.bundle, 1): библиотека не загружена:/usr/local/lib/libMagickCore-6.Q16.1.dylib
Ссылка из: /Library/Perl/ 5.16/darwin-thread-multi-2level/auto/Image/Magick/Magick.bundle Причина: изображение не найдено на /System/Library/Perl/ 5.16/darwin-thread-multi-2level/DynaLoader.pm line 194. at -e строка 1. Не удалось выполнить компиляцию на -e строке 1. BEGIN failed - компиляция отменена на -e строке 1. & Image:: Magick:: константа не определена. Требуемый ImageMagick библиотеки не установлены или не установлены должным образом. КОНЕЦ failed - очередь вызовов прервана на -e строке 1.

И после:

$ sudo find / -name "libMagickCore-6.Q16.1.dylib" -print

/usr/local/Cellar/imagemagick/6.8.7-7/lib/libMagickCore-6.Q16.1.dylib

Я создал символическую ссылку:

$ ln -s /usr/local/Cellar/imagemagick/6.8.7-7/lib/libMagickCore-6.Q16.1.dylib /usr/local/lib/libMagickCore-6.Q16.1.dylib

И удалили и установили все зависимости imagemagick:

$ brew install perlmagick

== > Установка зависимостей для perlmagick: libpng, imagemagick

И все работает сейчас.