RMagick抱怨在OSX中找不到libMagickCore.5.dylib

时间:2013-09-27 00:37:46

标签: ruby-on-rails imagemagick carrierwave homebrew

运行brew upgrade imagemagick后,当我运行rails s时,我会得到

/Users/tomi/.rvm/gems/ruby-2.0.0-p247@ezaaa/gems/activesupport-4.0.0/lib/active_support/dependencies.rb:228:in `require': dlopen(/Users/tomi/.rvm/gems/ruby-2.0.0-p247@ezaaa/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/ruby-2.0.0-p247@ezaaa/gems/rmagick-2.13.2/lib/RMagick2.bundle
  Reason: image not found - /Users/tomi/.rvm/gems/ruby-2.0.0-p247@ezaaa/gems/rmagick-2.13.2/lib/RMagick2.bundle

我正在使用Carrierwave gem和RMagick,OS是OSX Moutain Lion

5 个答案:

答案 0 :(得分:28)

其他任何人正在努力解决这个问题(2017年1月) - RMagick 2.15.4无法使用ImageMagick 7.0.x构建

首先,请这样做:

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

其次,请参阅https://github.com/rmagick/rmagick/issues/256并阅读hristozov的答案,即:

gem install rmagick

这将迫使自制软件使用/usr/local/Cellar/imagemagick/6.9.7-3

第三,

<#@ import namespace="System.Linq" #>

答案 1 :(得分:26)

发现here我设法通过以下方式解决这个问题:

1 /在系统中搜索此lib

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 :(得分:11)

1 brew卸载ImageMagick

2 brew安装ImageMagick

3 gem卸载rmagick (所有版本)

4 gem install rmagick

为我工作

答案 3 :(得分: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   第194行-e line 1.在-e第1行的require中编译失败。   BEGIN失败 - 编译在-e第1行中止。   &amp; Image :: Magick ::常量未定义。所需的ImageMagick   库未安装或未正确安装。结束   失败 - 呼叫队列在-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
  

==&GT;为perlmagick安装依赖项:libpng,imagemagick

现在一切正常。

答案 4 :(得分:3)

这才对我有所帮助:

gem pristine rmagick

感谢MOTW article