Mountain Lionにアップグレード後にRMagickがエラーになる場合の対応

Max OSをMountain Lionにアップグレード後にRMagickがエラーで起動しなかった場合の対処。
/Users/RailsUser/.rvm/gems/ruby-1.8.6-p420@rails_project/gems/rmagick-2.7.2/lib/RMagick2.bundle: dlopen(/Users/RailsUser/.rvm/gems/ruby-1.8.6-p420@rails_project/gems/rmagick-2.7.2/lib/RMagick2.bundle, 9): Library not loaded: /usr/local/lib/libMagickCore.4.dylib (LoadError)
Referenced from: /Users/RailsUser/.rvm/gems/ruby-1.8.6-p420@rails_project/gems/rmagick-2.7.2/lib/RMagick2.bundle
Reason: image not found - /Users/RailsUser/.rvm/gems/ruby-1.8.6-p420@rails_project/gems/rmagick-2.7.2/lib/RMagick2.bundle
from /Users/RailsUser/.rvm/rubies/ruby-1.8.6-p420/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
from /Users/RailsUser/.rvm/gems/ruby-1.8.6-p420@rails_project/gems/activesupport-2.2.2/lib/active_support/dependencies.rb:153:in `require'
from /Users/RailsUser/.rvm/gems/ruby-1.8.6-p420@rails_project/gems/activesupport-2.2.2/lib/active_support/dependencies.rb:521:in `new_constants_in'
from /Users/RailsUser/.rvm/gems/ruby-1.8.6-p420@rails_project/gems/activesupport-2.2.2/lib/active_support/dependencies.rb:153:in `require'
from /Users/RailsUser/.rvm/gems/ruby-1.8.6-p420@rails_project/gems/rmagick-2.7.2/lib/RMagick.rb:11
from /Users/RailsUser/.rvm/rubies/ruby-1.8.6-p420/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:36:in `gem_original_require'
from /Users/RailsUser/.rvm/rubies/ruby-1.8.6-p420/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:36:in `require'
from /Users/RailsUser/.rvm/gems/ruby-1.8.6-p420@rails_project/gems/activesupport-2.2.2/lib/active_support/dependencies.rb:153:in `require'
... 66 levels...
from /Users/RailsUser/.rvm/gems/ruby-1.8.6-p420@rails_project/gems/rails-2.2.2/lib/commands/server.rb:49
from /Users/RailsUser/.rvm/rubies/ruby-1.8.6-p420/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
from /Users/RailsUser/.rvm/rubies/ruby-1.8.6-p420/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
from script/server:3

libMagickCore.4.dylibが無いというエラーで、原因としてはImageMagickのバージョンアップによりライブラリ名が変わってしまったため。

慌ててrmagick gemをアンインストールしたが、その後rmagickがインストールできなくなってしまったのでrvmのバックアップファイルから、以下のファイルをコピーした。
/User/.rvm/gems/ruby-1.8.6-p420@rails ディレクトリから
/cache/rmagick-2.7.2.gem
/gems/rmagick-2.7.2
/specifications/rmagick-2.7.2.gemspec


これでgemはインストールされた状態になるので、Homebrewでインストール済みのImageMagickを古いバージョンにする。
参考:Installing RMagick gem on Mountain Lion show errors 'Abort trap: 6'
# /usr/localディレクトリに移動
cd /usr/local/

# Homebrewで可能なバージョンをチェック
brew versions imagemagick
6.8.0-10 git checkout 883f549 /usr/local/Library/Formula/imagemagick.rb
6.7.7-6 git checkout 834ce4a /usr/local/Library/Formula/imagemagick.rb
6.7.5-7 git checkout f965101 /usr/local/Library/Formula/imagemagick.rb
6.7.1-1 git checkout be8e0ff /usr/local/Library/Formula/imagemagick.rb
6.6.9-4 git checkout 4e7c332 /usr/local/Library/Formula/imagemagick.rb
6.6.7-10 git checkout 0476235 /usr/local/Library/Formula/imagemagick.rb
6.6.7-8 git checkout db99927 /usr/local/Library/Formula/imagemagick.rb
6.6.7-1 git checkout 7cd042f /usr/local/Library/Formula/imagemagick.rb
6.6.4-5 git checkout 53886de /usr/local/Library/Formula/imagemagick.rb

# インストールしたいバージョンにチェックアウト
git checkout be8e0ff /usr/local/Library/Formula/imagemagick.rb

# インストール
brew install imagemagick

これでImageMagickのインストールが完了
ls /usr/local/lib/ すると
libMagickCore.4.dylibが存在するのでバージョンもOK

ただし、起動するとMountain LionではX11がインストールされていないので警告がでる(About X11 and OS X Mountain Lion)。
XQuartzのサイトにアクセスして、XQuartz-x.x.x.dmgをダウンロードしてインストールすると起動できた!
posted by digital-squad at 2013年10月06日 14時03分 | Comment(0) | TrackBack(0) | Ruby on Rails / Ruby
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバック