可能是您正在安装ImageMagick版本7.xx,它将在您的usr/lib/local/include/ImageMagick7.x.x
文件夹中生成不同的文件夹名称。
在ImageMagick6.xx版本我们magick
,wand
命名文件夹,其中ImageMagick7.xx版本命名这个MagickCore
,MagickWand
。因此,这种更新在像此处这样的一些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
会的。
您可能还需要在此处设置以下符号链接,然后才能起作用:
ln -s /usr/local/lib/libMagickWand-6.Q16.so.6 /home/marcelo/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/extensions/x86_64-linux/2.2.0-static/rmagick-2.16.0/libMagickWand-6.Q16.so.6
sudo ln -s /usr/local/lib/libMagickWand-6.Q16.so.6 /usr/lib
ln -s /usr/local/lib/libMagickCore-6.Q16.so.6 /home/marcelo/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/extensions/x86_64-linux/2.2.0-static/rmagick-2.16.0/libMagickCore-6.Q16.so.6
sudo ln -s /usr/local/lib/libMagickCore-6.Q16.so.6 /usr/lib