我正在尝试安装rmagick gem。当我运行" gem install rmagick"它给了我以下错误:
In file included from rmagick.c:13:
./rmagick.h:1210:51: error: unknown type name 'MagickPixelPacket'
extern void Color_to_MagickPixelPacket(Image *, MagickPixelPacket *, VALUE);
接下来是一些关于缺失方法和不正确参数的类似投诉(如果它们看起来有帮助,我可以发布其余内容)。
对我而言,这似乎是一个版本问题,这是有道理的,因为我安装了ImageMagick 6以及版本7,所以我卸载了版本6但问题仍然存在。
我还必须通过符号链接以下内容为rmagick找到所需的.h文件,以防有意义:
ln -s /usr/local/include/ImageMagick-7/MagickCore /usr/local/include/magick
ln -s /usr/local/include/ImageMagick-7/MagickWand /usr/local/include/wand
我在Macbook上,用brew安装东西。我目前的ImageMagick版本是7,但我对一些遗留问题的剩余版本感到怀疑。
有什么想法?如果有必要,我很乐意提供更多信息,但目前我无法想到任何其他信息。
答案 0 :(得分:2)
感谢Brad和Matthieu的建议! MiniMagick看起来确实是一个很好的解决方案,而Matthieu肯定是因为系统之间存在不同的依赖关系;在我的情况下,我最终放弃尝试使用带有RMagick的ImageMagick 7,但我确实让它与ImageMagick 6一起使用。这对我有用:
brew remove imagemagick
PKG_CONFIG_PATH=/usr/local/opt/imagemagick@6/lib/pkgconfig
brew install imagemagick@6
gem install rmagick
非常感谢这篇SE帖子:https://stackoverflow.com/a/41788501/5054505 为了记录,我在OSX Yosemite
另外,请参阅此RMagick问题:https://github.com/rmagick/rmagick/issues/256。 希望这很快就能解决,但现在似乎回归到版本6是流行的方法。
答案 1 :(得分:1)
每个发行版都以自己的方式管理Ruby宝石,例如: Debian需要为这个gem安装libmagickwand-dev
你要查找的是查看gem是否需要在Mac上具有附加依赖性(在Debian上有类似的问题)