38

我已经完全绝望了——我花了一整天的时间试图将rmagickgem 安装到 Mac OS X Lion,但实际上这是一场悲剧。我在 Google 上看到了许多类似的主题,但没有任何帮助。

我尝试imagemagick通过完全卸载brew并再次安装它(这很好用)然后安装rmagick,但是每次我尝试安装这个 gem 时,我都会收到这个错误:

Building native extensions.  This could take a while...
ERROR:  Error installing rmagick:
    ERROR: Failed to build gem native extension.

        /Users/adam/.rvm/rubies/ruby-1.9.3-p327/bin/ruby extconf.rb
checking for Ruby version >= 1.8.5... yes
extconf.rb:128: Use RbConfig instead of obsolete and deprecated Config.
checking for clang... yes
checking for Magick-config... yes
checking for ImageMagick version >= 6.4.9... yes
checking for HDRI disabled version of ImageMagick... yes
checking for stdint.h... yes
checking for sys/types.h... yes
checking for wand/MagickWand.h... yes
checking for InitializeMagick() in -lMagickCore... no
checking for InitializeMagick() in -lMagick... no
checking for InitializeMagick() in -lMagick++... no
Can't install RMagick 2.13.1. Can't find the ImageMagick library or one of the dependent libraries. Check the mkmf.log file for more detailed information.

*** 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
    --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/adam/.rvm/rubies/ruby-1.9.3-p327/bin/ruby
    --with-MagickCorelib
    --without-MagickCorelib
    --with-Magicklib
    --without-Magicklib
    --with-Magick++lib
    --without-Magick++lib


Gem files will remain installed in /Users/adam/.rvm/gems/ruby-1.9.3-p327/gems/rmagick-2.13.1 for inspection.
Results logged to /Users/adam/.rvm/gems/ruby-1.9.3-p327/gems/rmagick-2.13.1/ext/RMagick/gem_make.out

不管我是通过 Gemfile 还是通过终端安装 gem,在这两种情况下我都会得到相同的错误输出。

这是版本imagemagickimagemagick-6.8.0-10

你能给我一些提示或提前,可能是哪里的问题?非常感谢!

4

11 回答 11

74

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

你可以

更新rmagick宝石

    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应该工作。

检查homebrew/issues/16625中关于此的讨论

更新:感谢@faraz 提供了一个不错的单行命令:

cd "`Magick-config --prefix`/lib"; ln -s libMagick++-Q8.7.dylib libMagick++.dylib; ln -s libMagickCore-Q8.7.dylib libMagickCore.dylib; ln -s libMagickWand-Q8.7.dylib libMagickWand.dylib
于 2012-12-20T07:36:58.060 回答
39

Mac OSX Sierra 和 Rails 5

brew unlink imagemagick
brew install imagemagick@6
brew link imagemagick@6 --force
于 2017-09-07T08:42:14.753 回答
18

我有同样的问题。

如果您检查 mkmf.log,您将看到以下错误消息:

ld: library not found for -lgomp
clang: error: linker command failed with exit code 1 (use -v to see invocation)
checked program was:
/* begin */
1: #include "ruby.h"
2: 
3: int main() {return 0;}
/* end */\

这是我解决它的方法:

  1. 卸载当前版本的 ImageMagick:

    brew uninstall imagemagick

  2. 在不支持 openmp 的情况下重新安装 imagemagick(这是负责 lgomp 的库):

    brew install imagemagick --disable-openmp

  3. 安装 rmagick:

    gem install rmagick

就是这样!

于 2013-04-22T13:19:51.250 回答
8

如果您使用的是自制软件,您只需要设置 PKG_CONFIG_PATH

brew install imagemagick
PKG_CONFIG_PATH=/usr/local/Cellar/imagemagick//6.8.9-1/lib/pkgconfig/ gem install rmagick
于 2014-07-01T02:18:26.507 回答
5

尝试安装 6.7.7-6 版的 imagemagick,因为 6.8.x 版破坏了 rmagick gem。

cd /usr/local
git checkout 7d951fb /usr/local/Library/Formula/imagemagick.rb
brew install imagemagick
于 2013-11-11T17:00:47.773 回答
5

截至 2017 年,上述建议的所有解决方案似乎都不再有效,因为 Homebrew 切换到 ImageMagick 7.0。

此处提供了一些解决方法。 https://github.com/rmagick/rmagick/issues/256

我刚刚降级到 ImageMagick 6.9.7-3 并且gem install rmagick工作正常。

于 2017-01-14T14:11:27.837 回答
4

这在 Catalina 对我有用:

brew uninstall imagemagick
brew install imagemagick@6
export PATH="/usr/local/opt/imagemagick@6/bin:$PATH"
brew link --force imagemagick@6
brew install pkg-config
gem install rmagick
于 2020-05-23T13:24:51.670 回答
3

当我在安装 rmagick 时遇到问题时,我正在使用这个单线,每次都会发生这种情况......

sudo C_INCLUDE_PATH=/usr/local/Cellar/imagemagick/6.8.7-7/include/ImageMagick-6/ PKG_CONFIG_PATH=/usr/local/Cellar/imagemagick/6.8.7-7/lib/pkgconfig/ gem install rmagick

确保 imagemagick 的版本是正确的,你应该很高兴。如果您没有安装 imagemagick,请执行brew install imagemagick.


不得不发布这个,因为我一直在安装这个 gem 时遇到问题,而且每次我都忘记如何去做。

于 2014-04-04T14:30:52.447 回答
1

安装imagemagick后,你可以试试

> gem pristine rmagick

从这个线程得到它。Rails Rmagick 宝石。希望能帮助到你。

于 2012-12-20T01:30:00.227 回答
0

或者,您可以退回到旧版本的 ImageMagick。这个线程有关于如何做到这一点的说明:

现在,为了尝试并真正有用,我建议您将其中一个较旧的瓶子提取到您的酒窖中,然后如果您卸载了旧版本,请执行 brew link imagemagick。

它们可以在这里找到:http: //sourceforge.net/projects/machomebrew/files/Bottles/imagemagick-6.7.7-6.snowleopard.bottle.3.tar.gz/download http://sourceforge.net/projects/ machomebrew/files/Bottles/imagemagick-6.7.7-6.lion.bottle.3.tar.gz/下载 http://sourceforge.net/projects/machomebrew/files/Bottles/imagemagick-6.7.7-6.mountainlion .bottle.3.tar.gz/下载

于 2013-01-31T19:12:08.803 回答
0

这是对 High Sierra、Mojave 和 Catalina 的修复,

brew uninstall imagemagick
brew install imagemagick@6export PATH="/usr/local/opt/imagemagick@6/bin:$PATH"
brew link --force imagemagick@6
gem install rmagick

来源:https ://blog.francium.tech/installing-rmagick-on-osx-high-sierra-7ea71f57390d

于 2019-10-25T08:12:24.603 回答