Rails + Mac OS X:libMagickCore-Q16.7.dylib不起作用

时间:2012-12-20 21:42:19

标签: ruby-on-rails ruby osx-lion rake rmagick

如果我运行某种rake命令,则收到以下错误消息:

rake aborted!
dlopen(/Users/adam/.rvm/gems/ruby-1.9.3-p327/gems/rmagick-2.13.1/lib/RMagick2.bundle, 9): Library not loaded: /usr/local/lib/libfreetype.6.dylib
  Referenced from: /usr/local/lib/libMagickCore-Q16.7.dylib
  Reason: Incompatible library version: libMagickCore-Q16.7.dylib requires version 16.0.0 or later, but libfreetype.6.dylib provides version 13.0.0 - /Users/adam/.rvm/gems/ruby-1.9.3-p327/gems/rmagick-2.13.1/lib/RMagick2.bundle
...

我在RoR 3.2,OSX Lion上运行。

有人可以帮助我,请问如何解决这个问题?我花了2天的谷歌搜索,阅读讨论,但遗憾的是没有成功......

非常感谢你!

4 个答案:

答案 0 :(得分:10)

使用Homebrew我能够使用以下命令解决它:

brew uninstall freetype
brew update
brew install freetype

更新步骤可能是不必要的。安装成功但出现以下警告:

Warning: Could not link freetype. Unlinking...

所以最后一个命令:

brew link --overwrite freetype

答案 1 :(得分:2)

我有一个令人惊奇的安装方法,它对我来说很漂亮,尝试按照以下步骤重新安装ImageMagick:

  1. yum install tcl-devel libpng-devel libjpeg-devel ghostscript-devel bzip2-devel freetype-devel libtiff-devel -y(我使用CentOS,你可以将命令翻译成你的发行版)
  2. 下载ImageMagick。写下wget ftp://ftp.imagemagick.org/pub/ImageMagick/ImageMagick.tar.gz并按Enter键。 ImageMagick.tar.gz在当前目录中创建。
  3. 解压缩ImageMagick存档。写下tar xczf ImageMagick.tar.gz并按Enter键。将创建一个新目录ImageMagick-version,其中version是ImageMagick版本号。
  4. 切换到ImageMagick目录。写cd ImageMagick-version并按Enter键。
  5. 配置ImageMagick构建。写下./configure --prefix=/usr/local --without-perl并按Enter键。
  6. 编译ImageMagick。写下make并按Enter键。 ImageMagick编译。此步骤可能需要几分钟。
  7. 将ImageMagick安装到您的主目录。写下make install并按Enter键。
  8. 删除安装文件。写下rm -r ImageMagick.tar.gz并按Enter键。
  9. 将/ usr / local / bin添加到PATH。
    • echo export PATH="/usr/local/bin:$PATH" >> ~/.bash_profile并按Enter键。
    • 重新加载.bash_profile。写下source ~/.bash_profile并按Enter键。
  10. 安装RMagick gem。
    • export LD_LIBRARY_PATH=/usr/local/lib并按Enter键。
    • export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig/并按Enter键。
    • 在Ruby on Rails应用程序中安装RMagick gem。
  11. 稍后告诉我它是怎么回事。

答案 2 :(得分:0)

您是否使用HomebrewMacPorts之类的东西来管理外部库依赖项?

从那里安装imagemagick库,然后安装rmagick。

答案 3 :(得分:0)

我在另一篇文章中找到了答案:

Rails 3 - RMagick doesn't find libfreetype.6.dylib using Paperclip

我执行了搜索,发现有一个旧版本的libfreetype被引用,而较新版本隐藏在其他地方。通过将较新版本复制/链接到适当的目录(在我的情况下是/ usr / local / lib),问题得到了解决。