无法安装RMagick 2.13.1。 找不到MagickWand.h。

当我尝试安装rmagick我得到以下错误信息:

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. 

我在Mac OSX 10.6.8,ruby1.9.2p290,rvm 1.10.2。

任何人都可以帮助我解决这个问题。

我有一个类似的问题与运行

 $ gem install rmagick 

首先,你安装了imagemagick吗? 如果您不确定,请运行

 $ convert --version 

如果你这样做,你可能安装了fink或macports(也许是自制的?)。 发生什么事是rvm无法findimagemagick目录。

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

 $ export PKG_CONFIG_PATH="/opt/local/lib/pkgconfig:$PKG_CONFIG_PATH" 

到我的〜/ .bash_profile,find新的configuration文件,然后再次运行gem install rmagick。

我这样做后,它为我工作。

如果你在Ubuntu上,安装这个软件包是为我修复的:

 sudo apt-get install libmagickwand-dev 

它看起来像ImageMagick 7改变了包含文件path。

在构buildrmagick ,因为它包含文件为wand/MagickWand.h没有解决方法。 它现在看起来像坚持与ImageMagick 6。

在Mac OS X(我在Sierra上testing过)中,我使用了HomeBrew的versions如:

 brew tap homebrew/versions brew install imagemagick@6 

然后,使用上面的安装中显示的path:

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

用ImageMagick 6安装。

我不想乱搞环境variables,因为我希望bundler能够在CI机器上自己编译这个gem。 相反,我用Homebrew来安装pkg-config:

brew install pkgconfig

下一次我试着编译RMagick gem时,发现头文件没有问题。

(这是pkg-config 0.28,ImageMagick 6.8.0-10和RMagick 2.13.2,都在Mountain Lion上。)

修复这个设置当前imagemagick安装的包含path:

用brew安装ImageMagick

 brew install imagemagick 

find图书馆

 $ mdfind MagickWand.h /usr/local/Cellar/imagemagick/6.7.5-7/include/ImageMagick/wand/MagickWand.h 

安装rmagickgem

 $ C_INCLUDE_PATH=/path/MagickWand.h gem install rmagick 

例:

 $ C_INCLUDE_PATH=/usr/local/Cellar/imagemagick/6.7.5-7/include/ImageMagick/ gem install rmagick 

我将其标记为最喜欢的,因为它似乎回来咬我每个新的系统,我需要安装RMagick(时间已经过去,版本号已滚动)。

Mac OS X 10.8.4

rvm 1.22.3

ruby2.0.0-P247

安装Xcode 4.6.3开发者工具

 $ brew install imagemagick ==> /usr/local/Cellar/imagemagick/6.8.6-3 $ brew install pkgconfig ==> /usr/local/Cellar/pkg-config/0.28 $ C_INCLUDE_PATH=/usr/local/Cellar/imagemagick/6.8.6-3/include/ImageMagick-6 PKG_CONFIG_PATH=/usr/local/Cellar/imagemagick/6.8.6-3/lib/pkgconfig/ gem install rmagick Successfully installed rmagick-2.13.2 

非常感谢上面添加有用答案的所有人!

Mac用户使用brew

如果你可以使用ImageMagick的v6代替7,你可以试试这个

 brew install imagemagick@6 --force && brew link imagemagick@6 --force 

请注意,这将取消您的现有即时通讯安装的链接,因此,如果您的计算机上使用ImageMagick的其他项目没有问题,请小心。

对于我自己和其他人的启发,我通过使用build议xonico来了解有关magicwand.h的错误。 MDFind加上C_INCLUDE_PATH。 然而,它给了我一个关于MagickCore.pc的错误。 我的最后一个命令就是要这样做:

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

很明显,你的path会根据你是否使用像我这样的brew以及你正在安装的imagemagick的版本而有所不同。 另外,正如其他人所提到的,xcode命令行工具也必须安装。

感谢大家在这个post! 因为它对我有贡献,所以我正在为你解答。

对于Ubuntu:

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

更新到Maverics后,我遇到了问题。 它已经失去了很多联系。 在我的情况下,我不得不刷新链接到pkg-config

 brew unlink pkg-config brew link pkg-config 

然后安装rmagick就像一个魅力。

我更新到山狮,并开始得到这个相同的问题。 我不得不重新安装brew,XCode,XCode工具 – 几乎是整个环境!

我最终使用上面的phopkins的答案解决了这个问题。

 brew install pkgconfig 

一旦成功完成(我必须先删除一些旧的符号链接),然后我才能成功安装RMagick的gem

这在Mac OSX上为我工作

安装Imagemagick:

 brew remove imagemagick brew install imagemagick 

确保pkg-config链接正确:

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

安装gem

 gem install rmagick 

帮助我在Debian Wheezy 64位

  apt-get install libmagickcore-dev libmagickwand-dev 

对于Ubuntu用户:它永远不会直接在Ubuntu上完成。 你应该首先安装包来运行这个命令…:

 sudo apt-get install libmagickwand-dev 

…然后安装:

 gem install rmagick 

您可能会遇到相同的问题,为此,请尝试清除您的apt存储库并首先删除所有损坏的软件包:

 sudo apt-get update sudo apt-get autoclean sudo apt-get clean sudo apt-get autoremove 

如果系统识别出任何损坏的软件包,请将其强制删除(用您自己的软件名称replace软件包名称):

 sudo dpkg --remove -force --force-remove-reinstreq package_name 

然后重新安装任何缺less的软件包。 🙂

对我来说一个问题是,rmagick已经过时了,并没有定期更新。 如果您的ImageMagick版本太新,则可能不兼容。 使用以下命令检查您的ImageMagick版本:

 $ convert --version 

如果ImageMagick版本大于7,则与rmagick不兼容。 用户将得到如下错误

 Can't install RMagick 2.16.0. Can't find MagickWand.h. *** extconf.rb failed *** 

回到ImageMagick的第六版,直到他们更新rmagick以与ImageMagick的第七版兼容。 有人已经在一个单独的gem – “imagemagick @ 6”中托pipe了适当的版本(6)。

如果你需要rmagick工作,但目前有一个imagemagick版本7或更高版本,这里是切换的步骤:

 $ gem install imagemagick@6 $ brew unlink imagemagick $ brew link imagemagick@6 --force 

尝试重新安装Imagemagick和PkgConfig。 这应该解决小牛队

  • brew update && brew upgrade
  • brew reinstall imagemagick
  • brew reinstall pkgconfig

我真的在OS X Mountain Lion(从Lion升级之后)上挣扎着,没有任何关于C_INCLUDE_PATH,PKG_CONFIG_PATH,各种文件等的build议正在工作。 在升级到Mountain Lion的同一天,我也升级了XCode到4.5.2,但是我没有真正想太多。

最后,我停止了试图安装RMagick,不得不把工作交给一个同事。

然后,偶然发现我正试图在另一个项目上使用bundle安装,而我无法安装json gem,因为找不到“make”。 我检查了这一点,发现你需要去XCode – >首选项 – >下载并安装命令行工具来使工作再次。 json gem安装正常。

然后我暂停了…并且尝试了

 gem install rmagick 

再来一次。 它工作完美。

对于基于轨道的应用程序,我发现这一点

 sudo apt-get install -y libmagickwand-6-headers C_INCLUDE_PATH=/usr/include/ImageMagick-6 gem install rmagick bundle update rmagick bundle install 

debian jessie上工作

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

我碰到这个,因为我会运行OS X的迁移助手,迁移后没有任何重新链接。 你需要检查Wand-config --ldflags --libs的输出。 在我的情况下,它给了:

 $ Wand-config --ldflags --libs /usr/local/bin/Wand-config: line 50: pkg-config: command not found /usr/local/bin/Wand-config: line 53: pkg-config: command not found 

重新链接pkg-config,libpng和libfreetype后,变成:

 $ Wand-config --ldflags --libs -L/usr/local/Cellar/imagemagick/6.8.8-9/lib -lMagickWand-6.Q16 -lMagickCore-6.Q16 -L/usr/local/Cellar/imagemagick/6.8.8-9/lib -lMagickWand-6.Q16 -lMagickCore-6.Q16 

接着:

 $ gem install rmagick Building native extensions. This could take a while... Successfully installed rmagick-2.13.2 Parsing documentation for rmagick-2.13.2 Done installing documentation for rmagick after 4 seconds 1 gem installed 

linux操作系统中:

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

构build本机扩展。 这可能需要一段时间…

 ERROR: Error installing rmagick: ERROR: Failed to build gem native extension. /home/vagrant/.rvm/rubies/ruby-1.9.3-p0/bin/ruby extconf.rb ... Package MagickCore was not found in the pkg-config search path. Perhaps you should add the directory containing `MagickCore.pc' 

然后:

 export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig" 

在我的.bashrc文件中拾取MagickCore.pc,然后创build两个符号链接:

 ln -s /usr/local/include/ImageMagick/wand /usr/local/include/ImageMagick-6/wand ln -s /usr/local/include/ImageMagick/magick /usr/local/include/ImageMagick-6/magick 

现在:

 $ gem install rmagick Building native extensions. This could take a while... Successfully installed rmagick-2.13.2 1 gem installed 

繁荣一切工作正常。

当我在OSX 10.8上安装了默认的ImageMagick安装(没有自制软件或者macports)时,我很难得到同样的问题。 在这个线程或线程链接到这个线程的build议没有任何组合(修改我的本地安装path当然)。

我只是删除了默认的ImageMagick 6安装,然后用macports重新安装。 我的rmagick安装后立即工作,没有其他更改。

在OSX Maverick 10.9.1上花了我很多时间来弄清楚,但我解决了这些问题的方式如下:

 nano /etc/paths 

改变:

 /usr/bin /bin /usr/sbin /sbin /usr/local/bin 

成:

 /usr/local/bin /usr/bin /bin /usr/sbin /sbin 

那个地方的东西,比如“酿造”,首先被加载。

现在我打了“酿造医生”到terminal,看看是否有什么东西搞砸了

如果您得到以下输出您的系统准备好酿造。 一切正常。 如果没有ti会告诉你该怎么做。 就像踢出未开发的东西,破碎的库,干净的符号链接和什么。

当你准备酿造,你需要ghostscript(pdf),libpng,imagemagick通过brew。

那么你可以高兴地input:'gem install rmagick',以防止你没有杀死你的ruby设置。 但是,这很容易通过你的清理酿造重新安装。

PS:另一个有用的命令是:“转换”,向您展示系统使用的是什么版本的imagemagick。

以及 – 版本

所以如果你通过brew安装git并执行'git –version',它会返回一些苹果git版本,你的加载path被破坏…

在Mac OS X 10.9上,如果有关于它的警告,请尝试更新您的Xcode。
$ brew医生
我发现了一些警告,做:
$ sudo / Developer / Library / uninstall-developer-folder

然后尝试:
$ bundle install
再次

这对我来说很好。

在CentOS 6.5 x64上,这非常简单:

 yum install ImageMagick ImageMagick-devel gem install rmagick -v '2.13.2' 

我能够通过升级到2.13.2来解决这个问题

所有冲泡选项未能在优胜美地10.10上安装rmagick 2.13.1

这工作
得到最新的RVM

\ curl -sSL https://get.rvm.io | bash -s stable –ruby rvm install 2.1.1 rvm的使用2.1.1

下载并安装包文件http://cactuslab.com/imagemagick

(我用和平主义者来安装)

确认MagickCore.pc文件的位置

mdfind magickcore.pc

例如。 /opt/ImageMagick/lib/pkgconfig/MagickCore.pc

手动下载rmagick-2.15.2.gem文件https://rubygems.org/gems/rmagick/versions/2.15.2

从那个目录

sudo C_INCLUDE_PATH = / opt / ImageMagick / include / ImageMagick-6 / PKG_CONFIG_PATH = / opt / ImageMagick / lib / pkgconfig gem install –local rmagick-2.15.2.gem

如果您遇到捆绑安装程序仍然抱怨2.13.1的问题

在你的gem文件/ gem.lock文件中升级ALL依赖关系

rmagick(2.13.1) – > rmagick(> = 2.15.2)

可能是您正在安装ImageMagick版本7.xx,它将在您的usr/lib/local/include/ImageMagick7.xx文件夹中生成不同的文件夹名称。

在ImageMagick6.xx版本中,我们有magickwand命名的文件夹,在ImageMagick7.xx版本中已经命名了这个MagickCoreMagickCore 。 所以这个更新导致这里的一些gem安装问题。 这是使用magick/some_header.h或者wand/some_header.h (意味着它们不会被新的7.xx ImageMagick版本更新)。

这就是为什么我们得到这个错误:

“`

 checking for outdated ImageMagick version (<= 6.4.9)... no checking for presence of MagickWand API (ImageMagick version >= 6.9.0)... no .... checking for wand/MagickWand.h... no 

“`

并在日志文件中是这样的:

 error: 'MagickCore/method-attribute.h' file not found #include "MagickCore/method-attribute.h" ^ 

从官方站点: https ://www.imagemagick.org/download/安装ImageMagick6.xx版本并使用以下命令安装(在解压zip / tar之后):

 ./configure make make install 

然后呢

gem install rmagick

它会工作。