RMagick抱怨在OSX中找不到libMagickCore.5.dylib
在运行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
我正在使用带有RMagick的Carrierwave gem,OS是OSX Moutain Lion
其他任何人现在都在努力解决这个问题(2017年1月) – 使用ImageMagick 7.0.x无法构建RMagick 2.15.4
首先,请这样做:
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
在这里找到了无关的答案,我设法解决这个问题:
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
1 brew卸载ImageMagick
2 brew安装ImageMagick
3 gem uninstall rmagick(所有版本)
4 gem安装rmagick
为我工作
十分感谢! 我有同样的问题:
$ 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第1行。在-e第1行的require中编译失败.BEGIN失败 – 编译在-e第1行中止。&Image :: Magick ::常量未定义。 未安装或未正确安装所需的ImageMagick库。 END失败 – 呼叫队列在-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
现在一切正常。
这对我有所帮助:
gem pristine rmagick
感谢https://github.com/mroth/lolcommits/issues/9#issuecomment-5153570