Ruby gem rmagick不会安装在Mac OS X上

时间:2013-03-25 04:21:09

标签: ruby macos rubygems operating-system rmagick

我知道这个问题早已被提出过很多问题,但没有一个解决方案适合我,我现在真的很绝望。

我正在尝试使用gem安装rMagick来安装侨民。我已经通过自制软件安装了imagick,当我尝试运行gem install rmagick时,我收到了这个错误:

ERROR:  Error installing rmagick:
    ERROR: Failed to build gem native extension.

        /Users/tobischweiger/.rvm/rubies/ruby-1.9.3-p385/bin/ruby extconf.rb
checking for Ruby version >= 1.8.5... yes
checking for gcc-4.2... yes
checking for Magick-config... no
Can't install RMagick 2.13.2. Can't find Magick-config in /Users/tobischweiger/.rvm/gems/ruby-1.9.3-p385@diaspora/bin:/Users/tobischweiger/.rvm/gems/ruby-1.9.3-p385@global/bin:/Users/tobischweiger/.rvm/rubies/ruby-1.9.3-p385/bin:/Users/tobischweiger/.rvm/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin:/usr/local/git/bin

*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers.  Check the mkmf.log file for more
details.  You may need configuration options.

Provided configuration options:
    --with-opt-dir
    --without-opt-dir
    --with-opt-include
    --without-opt-include=${opt-dir}/include
    --with-opt-lib
    --without-opt-lib=${opt-dir}/lib
    --with-make-prog
    --without-make-prog
    --srcdir=.
    --curdir
    --ruby=/Users/tobischweiger/.rvm/rubies/ruby-1.9.3-p385/bin/ruby


Gem files will remain installed in /Users/tobischweiger/.rvm/gems/ruby-1.9.3-p385@diaspora/gems/rmagick-2.13.2 for inspection.
Results logged to /Users/tobischweiger/.rvm/gems/ruby-1.9.3-p385@diaspora/gems/rmagick-2.13.2/ext/RMagick/gem_make.out

我对宝石和自制软件不是很有经验,我想知道是否有人可以帮助我。

10 个答案:

答案 0 :(得分:21)

在尝试安装gem之前运行它(使用自制软件)。

brew install imagemagick

答案 1 :(得分:15)

这是使用自制软件的破坏性较小的版本,rmagic也不适用于imagemacigk version 7

  

ImageMagick版本6.4.9或更高版本(6.×.x)。版本7还没有   支持的; ETA 2019年4月(https://github.com/rmagick/rmagick/pull/299

(来自自述文件)

。你可以从www.imagemagick.org获得ImageMagick。所以使用brew试试这个

brew install imagemagick@6
PKG_CONFIG_PATH=/usr/local/opt/imagemagick@6/lib/pkgconfig gem install rmagick

答案 2 :(得分:4)

我正在使用OS X Lion。

我跑了brew doctor并看到图像标记已取消关联,因此它告诉我运行brew link imagemagick

然后我关闭并重新打开我的终端,一切都很顺利。

答案 3 :(得分:4)

在小牛队,你可以这样做:

brew install pkgconfig
brew uninstall imagemagick
brew install imagemagick
brew link imagemagick
bundle install

这就够了。我想。

答案 4 :(得分:3)

我有一个类似的问题,这对我有用:

$ cd /usr/local/Cellar/imagemagick/6.8.0-10/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

希望这有帮助。

信用:https://coderwall.com/p/wnomjg

答案 5 :(得分:2)

确保执行以下操作:

$ cd /usr/local/Cellar/imagemagick/6.8.0-10/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

您更改文件名以反映您的版本:您可以通过查看lib文件夹来查看文件名:cd / usr / local / Cellar / imagemagick / VERSION / lib

例如:

ln -s libMagickWand-6.Q16.1.dylib libMagickWand.dylib

等等

答案 6 :(得分:2)

安装RMagick时我们需要检查不同的场景。请检查以下内容并确认:

  1. 检查您是否使用旧版本的ruby安装最新版本的RMagick。即红宝石1.8.7左右。您无法使用旧版本的Ruby安装最新版本的RMagick。如果是这样,您可能会收到此错误消息。

    Building native extensions.  This could take a while...
    ERROR:  Error installing rmagick:
    ERROR: Failed to build gem native extension.
    
      /Users/user/.rbenv/versions/1.8.7-p375/bin/ruby extconf.rb
    
  2. 确保在安装RMagick之前安装了imagemagick。

    brew install imagemagick
    
  3. 还要确保使用兼容版本的imagemagick安装RMagick。 RMagick与最新版本的imagemagick不兼容。

  4. 更多信息: 如果您只需要调整大小,锐化,转换现有图像,则可以使用MiniMagick而不是使用RMagick。当我们需要创建图像,图形,绘图和排版时,需要RMagick。与RMagick相比,它更容易使用并且比系统资源轻得多。 RMagick消耗大量内存。

答案 7 :(得分:1)

主要问题似乎是正确安装和链接了imagemagick。

这个页面对我很有帮助:

http://sethvargo.com/20110726/install-imagemagick-on-mountain-lion/

我正在运行自制程序,让brew doctor命令运行干净是安装它的关键。

答案 8 :(得分:0)

我发现在OSX 1.8.2上将我的Xcode更新到最新版本(4.6.1)修复了这个问题,我成功安装了rmagick-2.13.2

答案 9 :(得分:0)

对我来说,我必须看一下你输出的输出

/Users/tobischweiger/.rvm/gems/ruby-1.9.3-p385@diaspora/gems/rmagick-2.13.2/ext/RMagick

在一个名为mkmf.log的文件中,它准确列出了它要编译的内容和错误。对我来说,链接器失败了这个命令:

ld: library not found for -lMagickCore

检查它运行的命令看起来不错,除了最后,请看这个片段:

-lMagickCore-6.Q16 -lMagickCore-6.Q16 -lruby-static -framework CoreFoundation -lMagickCore -lpthread -ldl -lobjc -lSystem /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/6.0/lib/darwin/libclang_rt.osx.a

请注意,它获得了Magick-config的输出并通过添加-lMagickCore-6.Q16来使用它们,但仍然尝试链接-lMagickCore。我认为这是have_library extconf正在使用的副产品。对我来说很重要的是,Homebrew没有提供libMagickCore.dylib库。它可能是rubygems的旧版本,我认为正确的修复方法是更新have_library函数,但我通过创建一个名为libMagickCore.dylib的符号链接来修复它,该符号链接指向libMagickCore-6.Q16.dylib