安装RMagick gem - 找不到MagickWand.h

时间:2012-09-06 04:15:14

标签: ruby osx-snow-leopard rmagick

我使用gem install rmagick在OSX 10.6.8上安装rmagick gem,我收到以下错误

    Can't install RMagick 2.13.1. Can't find MagickWand.h.
*** 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/disaacs/.rvm/rubies/ruby-1.9.3-p125/bin/ruby


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

查看mkmf.log文件,我看到了

have_header: checking for wand/MagickWand.h... -------------------- no

"/usr/bin/gcc-4.2 -E -I/Users/disaacs/.rvm/rubies/ruby-1.9.3-p125/include/ruby-1.9.1/x86_64-darwin10.8.0 -I/Users/disaacs/.rvm/rubies/ruby-1.9.3-p125/include/ruby-1.9.1/ruby/backward -I/Users/disaacs/.rvm/rubies/ruby-1.9.3-p125/include/ruby-1.9.1 -I.      conftest.c -o conftest.i"
conftest.c:3:29: error: wand/MagickWand.h: No such file or directory

这是真的。在-I命令的gcc-4.2指令所特定的任何目录中都找不到MagickWand.h文件。 为什么不呢?我该如何解决这个问题?

使用自制软件安装ImageMagick。如果我搜索我的驱动器,我会在/usr/local/Cellar/imagemagick/6.7.7-6/include/ImageMagick/wand/MagickWand.h中找到MagicWand.h。

我已尝试Can't install RMagick 2.13.1. Can't find MagickWand.h.中的所有建议,但没有一项有效。

修改: 另外需要注意的是:我最初使用MacPorts安装了ImagMagick 6.7.0-7,并且安装了RMagick就好了。除了它不适用于CarrierWave gem。所以我卸载了MacPorts并卸载了RMagick。然后使用brew install -f imagemagick --disable-openmp重新安装ImageMagick,并尝试重新安装rmagick gem(这使我遇到了当前的问题)。我在每一步都重新启动了所有终端,以确保我的路径被刷新。

9 个答案:

答案 0 :(得分:23)

对于基于Debian的(例如,Ubuntu)系统,您可以尝试,

sudo apt-get install libmagickcore-dev libmagickwand-dev
gem install rmagick

它对我有用。

ruby-forum

找到解决方案

答案 1 :(得分:22)

1)由安装人员安装

http://cactuslab.com/imagemagick/

2)尝试gem install rmagick

如果检查魔杖/ MagickWand.h ......没有 型

mdfind MagickWand.h
找到像

这样的东西
/Users/user/ImageMagick-6.8.3/include/ImageMagick-6/wand/MagickWand.h

并输入终端

C_INCLUDE_PATH=/Users/user/ImageMagick-6.8.3/include/ImageMagick-6/ gem install rmagick

如果之后你有这个错误(因为有了它)“在pkg-config搜索路径中找不到包MagickCore。”

mdfind MagickCore.pc
找到像/opt/ImageMagick/lib/pkgconfig/MagickCore.pc这样的东西

最后是终端类型:

PKG_CONFIG_PATH=/opt/ImageMagick/lib/pkgconfig/ gem install rmagick

答案 2 :(得分:15)

毕竟答案是Can't install RMagick 2.13.1. Can't find MagickWand.h.。我错误地遵循了这个建议。

C_INCLUDE_PATH=/usr/local/Cellar/imagemagick/6.7.7-6/include/ImageMagick gem install rmagick

成功安装了rmagick gem。

不幸的是,rmagic仍然没有使用CarrierWave :-(,但这完全是一个不同的问题。

答案 3 :(得分:7)

这是OS X Mavericks的解决方案 - 至少它对我有用......

首先,安装Xcode 5(来自App Store)

然后安装开发工具 - 打开终端并输入:

xcode-select install

接下来,从CatusLab获取ImageMagick包:http://cactuslab.com/imagemagick/ (我选择了没有Freetype支持的软件包,这需要XQuarz - 但这完全取决于你)。

你也需要pgkconfg - 在这里得到它:http://macpkg.sourceforge.net

安装完成后,导出pkgconfig二进制文件:

export PATH=/opt/pkgconfig/bin:$PATH

然后找到MagickWand.h

mdfind MagickWand.h

它提供了MagickWand.h的路径,在我的例子中是/opt/ImageMagick/include/ImageMagick-6/wand/MagickWand.h

接下来找到pkgconfig路径:

mdfind MagickCore.pc

对我而言,它推出了:/opt/ImageMagick/lib/pkgconfig/MagickCore.pc

我遇到了无法获取rmagick gem的问题所以我从rubygems.org/gems/rmagick下载了

将rmagick gem下载到您的下载文件夹后,您现在应该可以安装rmagick了:

sudo C_INCLUDE_PATH=/opt/ImageMagick/include/ImageMagick-6/ PKG_CONFIG_PATH=/opt/ImageMagick/lib/pkgconfig/ gem install --local ~/Downloads/rmagick-2.13.2

对我而言,它安装成功 - 希望这有帮助...

答案 4 :(得分:4)

我浪费了很多时间,6.7以上的ImageMagick版本不能很好地安装rmagick gem。看起来有人制作了一个解决此问题的软件包,请尝试:

brew install imagemagick-ruby186

卸载之前的imagemagick后。之后gem install rmagick对我来说很好。

答案 5 :(得分:3)

我在OS X El Capitan上。

我的应用正在使用ruby 2.1.2和rmagick 2.13.4。

使用brew install imagemagick时,我得到ImageMagick -v 7.0.4-5。

我的解决方案是使用brew install imagemagick@6,它给了我ImageMagick -v 6.9.7-5,它允许我成功安装宝石。

答案 6 :(得分:0)

这是我在16.04.1所做的,

sudo apt-get install libmagickwand-dev
sudo apt-get install graphicsmagick-imagemagick-compat

然后安装gem

PATH="/usr/lib/x86_64-linux-gnu/ImageMagick-6.8.9/bin-Q16:$PATH" gem install rmagick -v '2.13.2'

答案 7 :(得分:0)

我遇到了类似的问题

$ gem install rmagick

然后输入

检查版本
$ convert --version

如果你这样做,你可能要么用fink或macports安装它(也许是自制软件?)。发生的事情是rvm找不到imagemagick目录。

阅读https://superuser.com/questions/361435/i-have-compiled-imagemagick-on-my-centos-and-rmagick-wont-install后,我通过添加

导出了imagemagick路径
$ export PKG_CONFIG_PATH="/opt/local/lib/pkgconfig:$PKG_CONFIG_PATH"

到我的〜/ .bash_profile,获取新的个人资料,然后再次运行gem install rmagick。

这对我来说很有用

如果上述解决方案无效,请尝试执行以下命令

sudo apt-get install libmagickwand-dev

这对我有所帮助。

答案 8 :(得分:0)

在OSX El Capitan(10.11.6)上唯一对我有用的是克隆这个存储库:

https://github.com/zagros/imagemagick-rmagic-el-captian

在github页面上描述的每个库的编译步骤之后,稍作修改。

在stuff文件夹中的imagemagick本身已经编译并且缺少配置脚本,所以我从其他图像magick中提取了它并编译,安装并且在gem install rmagick工作之后。