小编典典

RMagick 安装:找不到 MagickWand.h

all

更新RMagickImagemagick是一个痛苦的经历。我已经用自制软件更新了我的
Mac 上的 Imagemagick 版本(MacOS El Capitan 版本 10.11.5),用于 Ruby 2.3 中的一个项目6.9.5-9

$ convert --version
Version: ImageMagick 6.9.5-9 Q16 x86_64 2016-09-09

现在 Ruby 1.8.7 中的一个旧项目拒绝使用错误消息“此 RMagick 安装配置了 ImageMagick 6.8.9 但 ImageMagick
6.9.5-9 正在使用中”。因此我卸载了“rmagick”,但无法再次安装

$ gem install rmagick -v 2.16.0
Building native extensions.  This could take a while...
ERROR:  Error installing rmagick:
ERROR: Failed to build gem native extension.

checking for /usr/local/opt/gcc46/bin/gcc-4.6... yes
checking for Magick-config... yes
checking for outdated ImageMagick version (<= 6.4.9)... no
checking for presence of MagickWand API (ImageMagick version >= 6.9.0)... no
checking for Ruby version >= 1.8.5... yes
checking for stdint.h... no
checking for sys/types.h... no
checking for wand/MagickWand.h... no

Can't install RMagick 2.16.0. Can't find MagickWand.h.

如果无法安装,整个应用程序将无法启动。我尝试了这里的所有答案,但它们都不适用于 MacOS :-(
我用自制软件重新安装了 imagemagick 和 pkg-config,并尝试了各种版本的 RMagick,但均未成功。2.16.0 是当前
RMagick 的最新版本

MagicWand 好像用在 ImageMagick 版本 > 6.9,在机器上可以找到:

find /usr/local -name MagickWand.h
=> /usr/local/Cellar/imagemagick/6.9.5-9_1/include/ImageMagick-6/wand/MagickWand.h

find /usr/local -name MagickWand.pc
=> /usr/local/Cellar/imagemagick/6.9.5-9_1/lib/pkgconfig/MagickCore.pc

即使我在 gem 安装期间指定了这些路径,它也不起作用(与上面相同的错误):-(

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

更新:

该错误仅发生在 Ruby 1.8.7,可以为 Ruby 2.0 和 Ruby 2.3 安装 RMagick。Ruby 1.8.7 和 ImageMagick
6.9.5 似乎不兼容。

  • Ruby 1.8.7 x
  • Ruby 2.0.0 ✓
  • Ruby 2.3.1 ✓

阅读 72

收藏
2022-08-02

共1个答案

小编典典

要解决Mac OSX Sierra、High Sierra、El Capitan、Mojave、Catalina、Big Sur 和 Monterey(M1 芯片)中的问题,您可以执行以下操作:

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

imagemagick@6keg-only,所以你需要强制链接。

2022-08-02