升级到OSX Mavericks 10.9后运行Rails S时出现Rmagick错误

时间:2014-05-05 05:27:16

标签: ruby-on-rails ruby-on-rails-3 gem osx-mavericks rmagick

我将我的osx从10.7更新为Mavericks 10.9,从那以后我一直遇到运行问题' rails s'。

问题在于Rmagick,我几乎尝试了所有可以找到的解决方案。大多数人建议通过自制程序重新安装imagemagick,并重新安装rmagick gem,但这并不奏效。我甚至整个卸载了自制软件,并重新安装了它。我试图摆脱gemfile.lock,再次运行bundle install,但这些都没有用。

以下是我尝试运行rails本地服务器时收到的错误消息:

Kibaeks-MacBook-Pro:onvard_saas kibaek$ rails s
/Users/kibaek/.rvm/gems/ruby-2.1.0@onvard/gems/rmagick-2.13.2/lib/rmagick.rb:11:in `require': dlopen(/Users/kibaek/.rvm/gems/ruby-2.1.0@onvard/extensions/x86_64-darwin-12/2.1.0-static/rmagick-2.13.2/RMagick2.bundle, 9): Library not loaded: /usr/local/lib/libMagickCore.5.dylib (LoadError)
Referenced from: /Users/kibaek/.rvm/gems/ruby-2.1.0@onvard/extensions/x86_64-darwin-12/2.1.0-static/rmagick-2.13.2/RMagick2.bundle
Reason: image not found - /Users/kibaek/.rvm/gems/ruby-2.1.0@onvard/extensions/x86_64-darwin-12/2.1.0-static/rmagick-2.13.2/RMagick2.bundle
from /Users/kibaek/.rvm/gems/ruby-2.1.0@onvard/gems/rmagick-2.13.2/lib/rmagick.rb:11:in `<top (required)>'
from /Users/kibaek/.rvm/gems/ruby-2.1.0@global/gems/bundler-1.5.1/lib/bundler/runtime.rb:76:in `require'
from /Users/kibaek/.rvm/gems/ruby-2.1.0@global/gems/bundler-1.5.1/lib/bundler/runtime.rb:76:in `block (2 levels) in require'
from /Users/kibaek/.rvm/gems/ruby-2.1.0@global/gems/bundler-1.5.1/lib/bundler/runtime.rb:72:in `each'
from /Users/kibaek/.rvm/gems/ruby-2.1.0@global/gems/bundler-1.5.1/lib/bundler/runtime.rb:72:in `block in require'
from /Users/kibaek/.rvm/gems/ruby-2.1.0@global/gems/bundler-1.5.1/lib/bundler/runtime.rb:61:in `each'
from /Users/kibaek/.rvm/gems/ruby-2.1.0@global/gems/bundler-1.5.1/lib/bundler/runtime.rb:61:in `require'
from /Users/kibaek/.rvm/gems/ruby-2.1.0@global/gems/bundler-1.5.1/lib/bundler.rb:131:in `require'
from /Users/kibaek/onvard_saas/config/application.rb:13:in `<top (required)>'
from /Users/kibaek/.rvm/gems/ruby-2.1.0@onvard/gems/railties-3.2.16/lib/rails/commands.rb:53:in `require'
from /Users/kibaek/.rvm/gems/ruby-2.1.0@onvard/gems/railties-3.2.16/lib/rails/commands.rb:53:in `block in <top (required)>'
from /Users/kibaek/.rvm/gems/ruby-2.1.0@onvard/gems/railties-3.2.16/lib/rails/commands.rb:50:in `tap'
from /Users/kibaek/.rvm/gems/ruby-2.1.0@onvard/gems/railties-3.2.16/lib/rails/commands.rb:50:in `<top (required)>'
from script/rails:6:in `require'
from script/rails:6:in `<main>'

1 个答案:

答案 0 :(得分:2)

我在OS 10.9上遇到了这个问题。我尝试了很多东西,这对我有用(安装Xcode 5之后):

brew install libtool --universal
brew link libtool

快速研究刚刚与其他也取得成功的用户发现以下内容:

Stack Overflow: rmagick-error-after-installing-os-x-mavericks

TheKUnit Blog: RMagick errors running rake tasks os x maverick

编辑:另一种可能性是你有一个不同于宝石寻找的RMagick版本(可能来自重新安装)。您的日志显示您的宝石正在寻找/usr/local/lib/libMagickCore.5.dylib,我猜它无法找到。做

 ls /usr/local/lib/

并查看是否可以找到该文件。如果没有,

gem pristine rmagick
如果您还没有尝试过,

可能会有所帮助。在我的情况下,我在该文件夹中有Core 6而不是5。