14

我知道这个问题已经问了很多,但是没有一个解决方案对我有用,我现在真的很绝望。

我正在尝试使用 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

我对 gem 和 homebrew 不是很有经验,我想知道是否有人可以帮助我。

4

10 回答 10

23

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

brew install imagemagick
于 2013-03-25T04:25:46.487 回答
16

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

ImageMagick 版本 6.4.9 或更高版本 (6.×.x)。版本 7 尚不支持;预计 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
于 2017-02-09T19:15:56.357 回答
4

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

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

够了。我认为。

于 2014-02-27T21:57:03.687 回答
4

我正在使用 OS X Lion。

我跑了brew doctor,发现 imagemagick 没有链接,所以它告诉我要运行brew link imagemagick

然后我关闭并重新打开我的终端,谢天谢地一切正常。

于 2013-11-08T04:50:52.307 回答
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

于 2013-05-14T01:22:04.270 回答
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

等等

于 2013-12-07T08:06:08.130 回答
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. 还要确保您正在安装 RMagick 与兼容版本的 imagemagick。RMagick 与最新版本的 imagemagick 不兼容。

更重要的是:如果您只需要调整大小、锐化、转换现有图像,您可以使用 MiniMagick 而不是使用 RMagick。当我们需要创建图像、图表、绘图和排版时,需要 RMagick。与 RMagick 相比,它更易于使用且占用的系统资源更轻。RMagick 消耗大量内存。

于 2015-06-18T10:07:16.003 回答
1

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

这个页面对我很有帮助:

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

我正在运行自制软件,让brew doctor命令运行 clean 是安装它的关键。

于 2013-07-31T14:35:31.730 回答
0

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

于 2013-03-25T16:00:56.037 回答
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_libraryextconf 正在使用的副产品。libMagickCore.dylib对我来说重要的是Homebrew没有提供库。它可能是 ruby​​gems 的旧版本,我认为正确的修复方法是更新have_library函数,但我通过创建一个名为libMagickCore.dylib指向libMagickCore-6.Q16.dylib.

于 2015-03-15T21:09:44.417 回答