Homebrewで複数のバージョンのパッケージをインストールして使い分ける

| コメント(0) | トラックバック(0)

新しい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>ですよ。



トラックバック(0)

トラックバックURL: http://www.iwazer.com/mt/mt-tb.cgi/1251

コメントする

このブログ記事について

このページは、iwazerが2013年3月 2日 19:15に書いたブログ記事です。

ひとつ前のブログ記事は「視点を工夫した不思議な写真」です。

次のブログ記事は「Railsコンソールを使ってコントローラのなかで色々試す」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。