在Mac OS X上安装Rmagick时出现错误

9
我按照以下链接中关于在OSX上安装RMagick的指南进行了安装:RMagickhttp://rmagick.rubyforge.org/install-faq.html#osx 我已经按照John Maddux提供的方法安装了Imagemagick(在OSX上安装ImageMagick的解决方案,无需使用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$ 

非常感谢您的帮助, Suebphatt
3个回答

29

我强烈推荐你尝试使用Homebrew,它是MacPorts的极佳替代品:

一旦你安装好了Homebrew,你应该能够非常容易地安装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/

更新:(感谢 JJD这个答案

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

brew install imagemagick --disable-openmp

更新 X2:(感谢 Ramon Araujo评论

如果您以前使用 homebrew 安装了 imagemagick,您需要在重新安装之前取消链接:

brew unlink imagemagick

嗨,bowsersenior,谢谢你的建议。我会尝试并告诉你结果。 - howdy
我尝试安装chiliproject,并成功地按照这个建议安装了没有openmp的imagemagick - JJD
@JJD 感谢您的评论。我已经更新了我的答案,加入了您提供的信息。 - bowsersenior
1
完美,只有一个评论。我已经使用brew安装了imagemagick,所以它首先要求我执行“brew unlink imagemagick”。在我这样做之后,我再次按照您的建议操作,一切都很完美!谢谢@bowsersenior。 - Ramon Araujo
谢谢@RamonAraujo,我已经更新了我的答案并加入了那些信息。 - bowsersenior
更新了我的回答,包括指向 brew.sh 的链接。 - bowsersenior

8

需要注意的另一个问题是ImageMagick的版本。 我使用的是ImageMagick 6.8.0,这是从homebrew安装的最新版本,但是rmagick无法与此版本一起编译。 因此,请运行

convert --version

确保您的ImageMagick版本不高于6.7,否则rmagick将无法编译。


而要安装特定版本(使用homebrew)... https://coderwall.com/p/lqphzg - David Vezzani

0

这个问题困扰了我一段时间,下面的修复方法(从this SO answer复制而来)解决了这个问题(特别是关于符号链接的部分)。

rmagick在与homebrew安装的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 中有关此问题的讨论。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接