新しいRailsアプリを作りたくてRMagickをインストールしようとしたらImageMagickが見つからないと怒られた。
経験上これは使おうとしたRMagickのバージョン2.13.2に対してインストールされているImageMagickのバージョンが古い時になる。おそらく新しいImageMagickをHomebrewで入れてあげればうまくいくはず。
Install Specific Version of Tool With Home Brew にやり方が載っていました。
まずはHomebrewが認識しているパッケージを最新に更新します。
$ cd$(brew --prefix) $ brew update
現在は6.7.7-6がインストールされているのですがはたして...
$ brew versions imagemagick 6.8.0-10 git checkout 45a4978 Library/Formula/imagemagick.rb 6.7.7-6 git checkout 834ce4a Library/Formula/imagemagick.rb 6.7.5-7 git checkout f965101 Library/Formula/imagemagick.rb :
より新しい6.8.0-10が登録されています。
先程のversionsでリストされた対象バージョンのgitコマンドを実行するとインストールできるようになります。
$ git checkout 45a4978 Library/Formula/imagemagick.rb $ brew install imagemagick Error: imagemagick-6.7.7-6 already installed To install this version, first `brew unlink imagemagick'
あら?エラー。6.7.7-6があるのでインストール先からunlinkするように言われています。
$ brew unlink imagemagick Unlinking /usr/local/Cellar/imagemagick/6.7.7-6... 65 links removed
再びインストール実行。
$ brew install imagemagick ==> Installing imagemagick dependency: freetype ==> Downloading https://downloads.sf.net/project/machomebrew/Bottles/freetype-2.4.11.mountain_lion.bottle ######################################################################## 100.0% ==> Pouring freetype-2.4.11.mountain_lion.bottle.tar.gz /usr/local/Cellar/freetype/2.4.11: 57 files, 2.5M ==> Installing imagemagick ==> Downloading https://downloads.sf.net/project/machomebrew/Bottles/imagemagick-6.8.0-10.mountainlion.bo Already downloaded: /Library/Caches/Homebrew/imagemagick-6.8.0-10.mountainlion.bottle.tar.gz ==> Pouring imagemagick-6.8.0-10.mountainlion.bottle.tar.gz /usr/local/Cellar/imagemagick/6.8.0-10: 1422 files, 45M
無事インストールされました。確認してみます。
$ brew list imagemagick /usr/local/Cellar/imagemagick/6.8.0-10/bin/Wand-config /usr/local/Cellar/imagemagick/6.8.0-10/bin/stream :
さて、新しく作るアプリはこれでいいとして、既存のをメンテしたくなったらどうするの?という疑問が浮かびますね。そちらのRMagickもバージョンアップするというのも手ですが依存ライブラリの関係上難しいこともあるでしょう。
そんなときのためにHomebrewでインストールされているパッケージはバージョンを切り替えることができます。
$ brew switch imagemagick 6.7.7-6 Cleaning /usr/local/Cellar/imagemagick/6.7.7-6 Cleaning /usr/local/Cellar/imagemagick/6.8.0-10 65 links created for /usr/local/Cellar/imagemagick/6.7.7-6
これで、前のバージョンが使えるようになりました。戻すのも同様にbrew switch <package name> <version>ですよ。