在Mountain Lion上安装Rmagick时出现错误

66

我看到其他人也遇到了相同的问题:在Mountain Lion上安装RMagick。然而,没有任何建议的解决方案使我成功安装rmagick。

这是我得到的错误信息:

Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.
checking for Ruby version >= 1.8.5... yes
checking for /usr/local/bin/gcc-4.2... 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.

我已经做过的事情:

Installed XCode
Installed the command line tools
Installed XQuartz
Installed homebrew with imagemagick library
Installed most recent version of RVM
Symlinked GCC
Uninstalled and reinstalled both RVM and imagemagick

有什么想法,为什么我仍然无法下载rmagick?
8个回答

215

看起来这是在Homebrew的github存储库中报告的问题 (https://github.com/mxcl/homebrew/issues/16625),指责rmagick本身不支持更高版本的imagemagick。 在相同的问题上 (https://github.com/mxcl/homebrew/issues/16625#issuecomment-11519383),您可以找到这个链接: https://coderwall.com/p/wnomjg ,它对我有效。 这就是他所做的:

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

13
随着rmagick 2.13.2的发布,这种解决方法不再需要。详情请参见下面的答案。 - Jared Beck
我没有这个文件: libMagick++-Q16.7.dylib。 - sites
4
无论如何,与其他两个文件一起使用,并运行以下命令:https://dev59.com/EWkw5IYBdhLWcg3wMHyn#10645011,实际上比那个命令更多,即`PKG_CONFIG_PATH=/usr/local/Cellar/imagemagick/6.8.0-10/lib/pkgconfig C_INCLUDE_PATH=/usr/local/Cellar/imagemagick/6.8.0-10/include/ImageMagick gem install rmagick -v '2.13.1'`。 - sites
这对于使用ImageMagick 6.8.5-5的MacPorts同样适用,库文件位于/opt/local/lib,并且名称略有不同。 - Thomas Bindzus
对我来说,它可以在没有ln -s libMagickWand-Q16.7.dylib libMagickWand.dylib的情况下工作。 - Евгений Масленков

31

这在我的Mountain Lion上运作良好。 - Andrew Ashbacher
我必须按照Lonecat的建议进行链接,才能安装2.13.2。然而2.13.1从未起作用。 - Usman

8
我们所做的是以下内容:
cd /usr/local
git checkout 834ce4a Library/Formula/imagemagick.rb
brew install imagemagick

这将安装Imagemagick 6.7.7-6。

5
我知道这个问题很老了,但我看了很多回答,仍然无法解决。后来我在另一种语言的一个随机链接中找到了解决方法(http://sugiarto.webmuapp.com/Package_MagickCore_was_not_found_in_the_pkg_config_search_path)。看起来它是在寻找未设置的PKG_CONFIG_PATH。
对我有用的方法是:
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig

然后确保它已经生效:
find /usr -name 'MagickCore.pc'
/usr/local/Cellar/imagemagick/6.8.0-10/lib/pkgconfig/MagickCore.pc
/usr/local/lib/pkgconfig/MagickCore.pc

然后尝试重新安装rmagick:
gem install rmagick
Building native extensions.  This could take a while...
Successfully installed rmagick-2.13.2
1 gem installed
Installing ri documentation for rmagick-2.13.2...
Installing RDoc documentation for rmagick-2.13.2...

成功!希望这能帮助其他仍然遇到此问题的人。


这篇帖子中的链接已经失效,但是对于其他遇到和我一样错误的人,这个方法有效(谢谢!)。"未找到MagickCore软件包' 在pkg-config搜索路径中未找到MagickCore软件包。 也许你应该将包含MagickCore.pc的目录添加到PKG_CONFIG_PATH环境变量中。" - Matthew Du Pont

2

以下是在macOS Sierra上为我有效的解决方案。

brew uninstall pkg-config
brew install pkg-config
brew unlink pkg-config
brew link pkg-config

2

来自其他答案:

PKG_CONFIG_PATH=/usr/local/Cellar/imagemagick/6.8.0-10/lib/pkgconfig C_INCLUDE_PATH=/usr/local/Cellar/imagemagick/6.8.0-10/include/ImageMagick gem install rmagick -v '2.13.1'

请查看https://dev59.com/EWkw5IYBdhLWcg3wMHyn#10645011了解如何获取这些目录。


1
我知道这是一个相当旧的问题,但最近它确实发生在我身上。我为那些尝试了所有其他答案但迄今无法解决的人发布此帖。将rmagick宝石升级到版本2.13.4可以在MacOS上与Ruby1.9.3一起使用。

希望能帮到你!


0

我不知道那怎么解决安装rmagick的问题。我也在一个新格式化的笔记本电脑上遇到了这个问题,但是我在你的帖子中找不到任何解决方案。 - Lonecat
在安装 gem 时,您需要找到文件 *magic*.pc 并提供其所在目录的路径:PKG_CONFIG_PATH=/path/to/imagemagic/lib/pkgconfig gem install rmagick - mpapis

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