【问题标题】:Rmagick errors when running Rails S after upgrading to OSX Mavericks 10.9升级到 OSX Mavericks 10.9 后运行 Rails S 时出现 Rmagick 错误
【发布时间】:2014-05-05 05:27:15
【问题描述】:

我将我的 osx 从 10.7 更新到了 Mavericks 10.9,从那以后我在运行“rails s”时遇到了问题。

问题在于 Rmagick,我已经尝试了几乎所有我能找到的解决方案。大多数人建议通过 homebrew 重新安装 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>'

【问题讨论】:

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


    【解决方案1】:

    我在 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 版本与 gem 正在寻找的版本不同(可能来自重新安装)。您的日志显示您的 gem 正在寻找 /usr/local/lib/libMagickCore.5.dylib 我猜它找不到。做

     ls /usr/local/lib/
    

    看看你能不能找到那个文件。如果没有,一个

    gem pristine rmagick
    

    如果您还没有尝试过,可能会有所帮助。就我而言,我在该文件夹中有 Core 6 而不是 5。

    【讨论】:

    • 你试过“gem pristine rmagick”吗? github.com/mroth/lolcommits/issues/9。我注意到您使用的是 RVM,这可能是常识,但在运行之前请确保您处于正确的环境中:)
    • 是的,所以我尝试重新安装 RVM,但现在我得到一个不同的错误。您能否通过检查我是否在正确的环境中来澄清您的意思?我该怎么做?
    • 另外,这是我现在遇到的错误。我知道这是因为我的本地设置,因为它适用于登台服务器以及我其他开发人员的本地机器:stackoverflow.com/questions/23469084/…
    • 我已在您的其他帖子中添加了评论。一旦其他问题得到解决,如果我可以进一步帮助您解决 Rmaick 问题,请在此处再次发表评论。
    • 我能够解决所有问题 - 感谢您的帮助!我已经接受了你的回答。我还会在您的回答中补充一点,我能够通过重新安装 RVM 来解决 rmagick 问题。 (我相信是这样做的,但不能 100% 确定。我还通过 benv 和 rvm 安装了 ruby​​)
    猜你喜欢
    • 2014-03-21
    • 1970-01-01
    • 2013-11-07
    • 1970-01-01
    • 2013-11-03
    • 1970-01-01
    • 2016-02-13
    • 1970-01-01
    相关资源
    最近更新 更多