1. ホーム
  2. ruby

[解決済み] RMagickのインストール。MagickWand.hが見当たりません。

2022-02-06 05:16:26

質問内容

更新中 RMagick イマジマジック は痛恨のエクスキューズです。私のmac(MacOS El Capitan Version 10.11.5)のImagemagickのバージョンを、Ruby 2.3のあるプロジェクトのためにhomebrewでアップデートしてみました。 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ではどれもうまくいかないからです :-( homebrewでimagickと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

UPDATE

Ruby 1.8.7でのみエラーが発生します。Ruby 2.0とRuby 2.3用のRMagickをインストールすることは可能です。Ruby 1.8.7とImageMagick 6.9.5には互換性がないようです。

  • Ruby 1.8.7 x
  • ルビー2.0.0
  • Ruby 2.3.1

解決するには?

私のシステムで何かがひどく間違っていた、それは完全にf*d upされるほどひどかったが、私は最終的にインストールした後に再びRMagick for Ruby 1.8.7をインストールすることができました。

RVMによる新しいRubyバージョンのインストール rvm install 1.8.7 古いGCCバージョン4.6を削除して、GCCバージョン4.9をインストールしたのです。どうやらGCCは、pkg-configにもかかわらず、正しいヘッダを見つけることができなかったようです。