前の記事 TOP 次の記事

2013年10月06日

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 14:03 | Ruby on Rails / Ruby

前の記事 TOP 次の記事




Powered by Seesaa