rmagickのインストールにハマった


tl;dr

  • rmagickを bundle install しようとしてエラー
  • imagemagicのバージョン制限があった
  • Homebrewで過去バージョンのimagemagickをインストールして解決できた

環境

  • Macbook Pro 2016 Mid
  • MacOS Sierra (10.12.2)
  • ruby

    $ ruby -v
    ruby 2.3.2p217 (2016-11-15 revision 56796) [x86_64-darwin16]
    

ハマリポイント

  • ずっと出続けていたエラーは以下
   Can't install RMagick 2.16.0. Can't find MagickWand.h.
   *** extconf.rb failed ***
  • 同じような解決策が色んな所で見つかるが罠

    • エラーで調べると、環境変数をゴニョゴニョしているものが多いが全く解決しない
    • ヘッダファイルが読めない→環境変数だろう→色んな人が環境変数で直ったって言ってる!→なんとかなりそう!という感じで無駄な時間を費やす
    • pkg-configとか何度もインストールし直しても駄目
  • バージョンが合わないことに全く気づかず

    • rmagickは 2.16.0 でも、imagemagick 7系に対応していない!
    • imagemagickの6系をインストールして解決できた
  • HomebrewのFomulaの古いバージョンを入れる方法が、バージョン1から代わった

    • brew versions って書いてあるドキュメントは全部使えない

解決した方法

  • 色んな所を見ながら探していたら、Googleの検索結果に、以下の情報を発見

RMagick 2.16.0 の時点では ImageMagick 7 系に未対応であり、ImageMagick 6 系を入れる必要がある。
参考) http://www.ownway.info/Ruby/rmagick/howtoinstall/windows

  • ということで、brewを操作して過去バージョンのimagemagickをインストールした

    $ cd /usr/local
    $ brew log imagemagick
    ここで表示される適当なバージョンのリポジトリを捜す
    $ cd /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/
    $ git checkout 6f014f2b7f1f9e618fd5c0ae9c93befea671f8be imagemagick.rb
    $ brew install imagemagick
    

    参考) http://qiita.com/ShuntaShirai/items/c582c0acebe2dbf03fc3

  • あとは、rmagickをインストールするだけ

    gem install rmagick -v '2.16.0'