【问题标题】:Error installing Rmagick on Mac OS X在 Mac OS X 上安装 Rmagick 时出错
【发布时间】:2011-05-16 12:01:19
【问题描述】:

我为 OSX 安装了 RMagick http://rmagick.rubyforge.org/install-faq.html#osx

我已经从 John Maddux 完成了 Imagemagick 安装(安装 ImageMagick 的解决方案em> 在 OSX 上不使用 MacPorts)

这是我的终端窗口:

Suebphatt:~ suebphattleelertphong$ ruby -v
ruby 1.8.7 (2009-06-12 patchlevel 174) [universal-darwin10.0]

Suebphatt:~ suebphattleelertphong$ rails -v
Rails 3.0.3

Suebphatt:~ suebphattleelertphong$ gem -v
1.3.7

Suebphatt:~ suebphattleelertphong$ gem install rmagick
Building native extensions.  This could take a while...
ERROR:  Error installing rmagick:
ERROR: Failed to build gem native extension.

/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby extconf.rb
mkmf.rb can't find header files for ruby at /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/ruby.h


Gem files will remain installed in /Library/Ruby/Gems/1.8/gems/rmagick-2.13.1 for     inspection.
Results logged to /Library/Ruby/Gems/1.8/gems/rmagick-2.13.1/ext/RMagick/gem_make.out
Suebphatt:~ suebphattleelertphong$ 

非常感谢您的帮助, 苏柏特

【问题讨论】:

    标签: macos ruby-on-rails-3 imagemagick rmagick


    【解决方案1】:

    为这个问题苦苦挣扎了一段时间,下面的修复(从this SO answer复制)解决了这个问题(特别是关于符号链接的部分)。

    rmagick 在使用自制软件的 imagemagick (>= 6.8.0-10) 时遇到问题。

    你可以

    通过

    更新 rmagick gem
    bundle update rmagick
    

    或手动符号链接一些dylib使其工作:

    $ cd "`Magick-config --prefix`lib"
    $ ln -s libMagick++-Q16.7.dylib   libMagick++.dylib
    $ ln -s libMagickCore-Q16.7.dylib libMagickCore.dylib
    $ ln -s libMagickWand-Q16.7.dylib libMagickWand.dylib
    

    之后gem install rmagick 应该可以工作了。

    查看https://github.com/Homebrew/homebrew/issues/16625中关于此的讨论

    【讨论】:

      【解决方案2】:

      我强烈建议您尝试自制软件,它是 macports 的绝佳替代品:

      安装自制软件后,您应该能够非常轻松地安装 imagemagick 和 rmagick:

      brew install imagemagick     # will take a while!
      gem install rmagick
      

      更多信息在这里:

      http://www.codedrop.ca/blog/archives/214

      这里:

      http://weblogs.manas.com.ar/mverzilli/2010/05/19/install-the-rmagick-gem-in-the-painless-way-with-homebrewinstall-the-rmagick-gem-in-the-painless-way-with-homebrewinstall-the-rmagick-gem-in-the-painless-way-with-homebrewinstall-the-rmagick-gem-in/

      更新:(感谢JJDthis answer

      如果您在安装 chiliproject 时遇到问题,请尝试不使用 openpmp 进行安装:

      brew install imagemagick --disable-openmp
      

      更新 X2:(感谢Ramon Araujocomment

      如果您之前使用自制软件安装了 imagemagick,则必须在再次安装之前取消链接:

      brew unlink imagemagick
      

      【讨论】:

      • 您好,bowsersenior,谢谢您的建议。我会试一试,然后告诉你结果。
      • 我尝试安装 chiliproject 并成功按照此建议安装到 install imagemagick without openmp
      • @JJD 感谢您的评论。我已经用你的信息更新了我的答案。
      • 完美,只有一条评论。我已经使用 brew 安装了 imagemagick,所以它要求我先“brew unlink imagemagick”。在我这样做之后,我再次遵循了你的建议,一切都很完美!谢谢@bowsersenior。
      • 谢谢@RamonAraujo,我已经用该信息更新了我的答案。
      【解决方案3】:

      另一个需要注意的是 imagemagick 的版本。 我有 ImageMagick 版本 6.8.0,如果您从自制软件安装,这是最新版本,而 rmagick 只是不使用此版本编译。 所以做一个

      转换--版本

      并确保您的 ImageMagick 为 6.7 或更低,否则 rmagick 将无法编译..

      【讨论】: