【问题标题】:Rails + Mac OS X: libMagickCore-Q16.7.dylib doesn't workRails + Mac OS X:libMagickCore-Q16.7.dylib 不起作用
【发布时间】:2012-12-08 11:48:09
【问题描述】:

如果我运行某种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 天时间在谷歌上搜索,阅读讨论,但不幸的是,成功率为零……

非常感谢!

【问题讨论】:

  • 同样的问题,虽然我在 OSX 10.8.2、ruby 1.8.7、rmagick 2.9.1 上。 ImageMagick 是使用自制软件安装的,即 brew install imagemagick

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


【解决方案1】:

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

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

【讨论】:

  • 当我运行brew install imagemagick 时,我会得到Error: imagemagick-6.8.0-10 already installed,而我刚刚成功安装了rmagick-2.13.1...那可能是哪里出了问题?
【解决方案2】:

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

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

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

【讨论】:

    【解决方案3】:

    我有一个很棒的如何安装 rmagick,对我来说效果很好,请尝试按照以下步骤重新安装 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/并回车。
      • 在您的 Ruby on Rails 应用程序中安装 RMagick gem。

    稍后告诉我进展如何。

    【讨论】:

      【解决方案4】:

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

      brew uninstall freetype
      brew update
      brew install freetype
      

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

      Warning: Could not link freetype. Unlinking...
      

      最后一个命令:

      brew link --overwrite freetype
      

      【讨论】:

      • 仍然相关。谢谢!
      猜你喜欢
      • 1970-01-01
      • 2011-08-15
      • 2013-09-06
      • 2011-06-08
      • 2012-05-14
      • 2016-07-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多