在ubuntu下安装貌似很容易安装对应的dev包就可以了,但是mac下用brew貌似找不到神马dev包可用,不过没关系,找dev的目的就是找到对应的头文件,brew安装包的源代码可以在:
/usr/local/Cellar/
里找到,我们首次尝试安装:
gem install rmagick
提示找不到ImageMagick,所以先用brew安装ImageMagick吧:
brew install ImageMagick
结果仍然出错,提示找不到pkg-config,那就再安装吧:
brew install pkgconfig
此时还是报错,这回得长个心眼了,看看C头文件和PKG_CONFIG的路径对不对,加上如下代码安装gem:
C_INCLUDE_PATH=/usr/local/Cellar/imagemagick/7.0.5-0/include/ImageMagick-7 PKG_CONFIG_PATH=/usr/local/lib/pkgconfig/ gem install rmagick
仍然报错,提示找不到MagicWand.h,但这个文件明明在源代码里,查看mkmf.log的详细报错,发现该文件的目录名有误,遂设置软连接:
ln -s MagickWand wand
#同样道理如下
ln -s MagickCore magick
再次安装,这次貌似有点盼头…可是几秒之后还是出错,这回是源代码语句错误,提示找不到一些类型.这时估计知道此路不通了,因为我没法去修改源代码了.
经历以上这么多惨痛教训得到的结果就是:此路不通,和爱迪生发明灯泡试错的经历可谓是同是天涯沦落人…
我们只有换一个ImageMagick版本试试了,于是卸载ImageMagick7,安装6:
brew install ImageMagick@6
再次运行gem,这次提示找不到MagickCore包,手动在Cellar里找到,所以只要修改pkg_config路径即可:
C_INCLUDE_PATH=/usr/local/Cellar/imagemagick@6/6.9.7-9/include/ImageMagick-6 PKG_CONFIG_PATH=/usr/local/opt/imagemagick@6/lib/pkgconfig gem install rmagick
这次终于OK了.我也曾尝试直接从ImageMagick源代码安装,但是后来也是报错:找不到x64对应的体系包.
所以就这样吧
偶然看到这位仁兄给出了更简单的方法:
brew unlink imagemagick
brew install imagemagick@6 && brew link imagemagick@6 --force
链接在下面,感谢!
解决Error installing rmagick-2.16.0.gem Can’t install RMagick 2.16.0. Can’t find MagickWand.h