RMagick/ImageMagick 安装

RMagick/ImageMagick installation

我正在尝试安装 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);

接着是一些关于缺少方法和不正确参数的类似投诉(如果它们看起来有用,我可以 post 其余的)。

对我来说,这似乎是一个版本问题,这是有道理的,因为我安装了 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,但我怀疑一些遗留的版本 6 会导致问题。

有什么想法吗?如有必要,我很乐意提供更多信息,但目前我想不出任何其他信息。

每个发行版都以自己的方式管理 Ruby gem,例如:
Debian 需要为此安装 libmagickwand-dev gem

您要查找的是 gem 在 Mac 上是否需要额外的依赖项(Debian 上的 bundle 有类似问题)

感谢 Brad 和 Matthieu 的建议! MiniMagick 看起来确实是一个很好的解决方案,而且 Matthieu 关于系统与系统之间存在不同依赖性的说法绝对是正确的;在我的例子中,我最终放弃了尝试将 ImageMagick 7 与 RMagick 一起使用,但我确实让它与 ImageMagick 6 一起工作。这对我有用:

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

非常感谢这个 SE post: 作为记录,我在 OSX Yosemite

另外,请参阅此 RMagick 问题:https://github.com/rmagick/rmagick/issues/256。 希望这会很快得到解决,但目前看来恢复到版本 6 是流行的方法。