【问题标题】:Rails app works locally, crashes on HerokuRails 应用程序在本地运行,在 Heroku 上崩溃
【发布时间】:2011-09-18 23:05:30
【问题描述】:

我一直试图从日志中找出问题所在,但不知道如何解决。以下是日志中的 sn-ps,我对如何修复有点困惑。任何帮助将不胜感激。

Could not load SystemTimer >= v1.2.0. Falling back to timeout.rb. SystemTimer is STRONGLY recommended for timeouts in Ruby 1.8.7. See http://ph7spot.com/blog/system-timer-1-2-release for details.

/app/.bundle/gems/ruby/1.8/gems/activesupport-3.1.0/lib/active_support/dependencies.rb:306:in `depend_on': No such file to load -- spec_helper (LoadError)

这是在日志的顶部

from /app/.bundle/gems/ruby/1.8/gems/railties-3.1.0/lib/rails/initializable.rb:49:in `run_initializers'

根据捆绑,正在使用以下宝石

根据捆绑安装,安装了以下gem

使用 rake (0.9.2) 使用抽象 (1.0.0) 使用主动支持 (3.0.3) 使用构建器 (2.1.2) 使用 i18n (0.6.0) 使用 activemodel (3.0.3) 使用 erubis (2.6.6) 使用机架 (1.2.4) 使用机架安装 (0.6.14) 使用机架测试(0.5.7) 使用 tzinfo (0.3.29) 使用动作包 (3.0.3) 使用 mime 类型 (1.16) 使用多语言 (0.3.2) 使用树顶 (1.4.10) 使用邮件 (2.2.19) 使用 actionmailer (3.0.3) 使用 arel (2.0.10) 使用活动记录 (3.0.3) 使用活动资源 (3.0.3) 使用 bson (1.3.1) 使用 bson_ext (1.3.1) 使用捆绑器 (1.0.18) 使用载波 (0.5.7) 使用 excon (0.6.6) 使用格式化程序 (0.2.1) 使用 multi_json (1.0.3) 使用 net-ssh (2.1.4) 使用 net-scp (1.0.4) 使用 nokogiri (1.5.0) 使用 ruby​​-hmac (0.4.0) 使用雾 (0.11.0) 使用表格(1.2.4) 使用 mongo (1.3.1) 使用 plucky (0.3.8) 使用 mongo_mapper (0.9.2) 使用雷神 (0.14.6) 使用铁轨 (3.0.3) 使用导轨 (3.0.3) 使用 rails3-generators (0.17.4)

这里是完整的heroku日志

2011-09-19T00:19:53+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/railties-3.0.3/lib/rails/initializable.rb:49:in `run_initializers'
2011-09-19T00:19:53+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/railties-3.0.3/lib/rails/application.rb:134:in `initialize!'
2011-09-19T00:19:53+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/railties-3.0.3/lib/rails/application.rb:77:in `method_missing'
2011-09-19T00:19:53+00:00 app[web.1]:   from /app/config/environment.rb:5:in `<top (required)>'
2011-09-19T00:19:53+00:00 app[web.1]:   from <internal:lib/rubygems/custom_require>:29:in `require'
2011-09-19T00:19:53+00:00 app[web.1]:   from <internal:lib/rubygems/custom_require>:29:in `require'
2011-09-19T00:19:53+00:00 app[web.1]:   from config.ru:3:in `block (3 levels) in <main>'
2011-09-19T00:19:53+00:00 app[web.1]:   from /home/heroku_rack/heroku.ru:23:in `eval'
2011-09-19T00:19:53+00:00 app[web.1]:   from /home/heroku_rack/heroku.ru:23:in `block (3 levels) in <main>'
2011-09-19T00:19:53+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/rack-1.2.1/lib/rack/builder.rb:46:in `instance_eval'
2011-09-19T00:19:53+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/rack-1.2.1/lib/rack/builder.rb:46:in `initialize'
2011-09-19T00:19:53+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/rack-1.2.1/lib/rack/builder.rb:63:in `new'
2011-09-19T00:19:53+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/rack-1.2.1/lib/rack/builder.rb:63:in `map'
2011-09-19T00:19:53+00:00 app[web.1]:   from /home/heroku_rack/heroku.ru:18:in `block (2 levels) in <main>'
2011-09-19T00:19:53+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/rack-1.2.1/lib/rack/builder.rb:46:in `instance_eval'
2011-09-19T00:19:53+00:00 heroku[web.1]: Process exited
2011-09-19T00:19:53+00:00 heroku[web.1]: State changed from starting to crashed
2011-09-19T00:31:24+00:00 heroku[web.1]: State changed from crashed to created
2011-09-19T00:31:24+00:00 heroku[web.1]: State changed from created to starting
2011-09-19T00:31:27+00:00 heroku[web.1]: Starting process with command `thin -p 42871 -e production -R /home/heroku_rack/heroku.ru start`
2011-09-19T00:31:31+00:00 app[web.1]: /app/.bundle/gems/ruby/1.9.1/gems/activesupport-3.0.3/lib/active_support/dependencies.rb:304:in `rescue in depend_on': No such file to load -- spec_helper (LoadError)
2011-09-19T00:31:31+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/activesupport-3.0.3/lib/active_support/dependencies.rb:299:in `depend_on'
2011-09-19T00:31:31+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/activesupport-3.0.3/lib/active_support/dependencies.rb:216:in `require_dependency'
2011-09-19T00:31:31+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/railties-3.0.3/lib/rails/engine.rb:138:in `block (2 levels) in eager_load!'
2011-09-19T00:31:31+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/railties-3.0.3/lib/rails/engine.rb:137:in `each'
2011-09-19T00:31:31+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/railties-3.0.3/lib/rails/engine.rb:137:in `block in eager_load!'
2011-09-19T00:31:31+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/railties-3.0.3/lib/rails/engine.rb:135:in `each'
2011-09-19T00:31:31+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/railties-3.0.3/lib/rails/engine.rb:135:in `eager_load!'
2011-09-19T00:31:31+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/railties-3.0.3/lib/rails/application.rb:108:in `eager_load!'
2011-09-19T00:31:31+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/railties-3.0.3/lib/rails/application/finisher.rb:41:in `block in <module:Finisher>'
2011-09-19T00:31:31+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/railties-3.0.3/lib/rails/initializable.rb:25:in `instance_exec'
2011-09-19T00:31:31+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/railties-3.0.3/lib/rails/initializable.rb:25:in `run'
2011-09-19T00:31:31+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/railties-3.0.3/lib/rails/initializable.rb:50:in `block in run_initializers'
2011-09-19T00:31:31+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/railties-3.0.3/lib/rails/initializable.rb:49:in `each'
2011-09-19T00:31:31+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/railties-3.0.3/lib/rails/initializable.rb:49:in `run_initializers'
2011-09-19T00:31:31+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/railties-3.0.3/lib/rails/application.rb:134:in `initialize!'
2011-09-19T00:31:31+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/railties-3.0.3/lib/rails/application.rb:77:in `method_missing'
2011-09-19T00:31:31+00:00 app[web.1]:   from /app/config/environment.rb:5:in `<top (required)>'
2011-09-19T00:31:31+00:00 app[web.1]:   from <internal:lib/rubygems/custom_require>:29:in `require'
2011-09-19T00:31:31+00:00 app[web.1]:   from <internal:lib/rubygems/custom_require>:29:in `require'
2011-09-19T00:31:31+00:00 app[web.1]:   from config.ru:3:in `block (3 levels) in <main>'
2011-09-19T00:31:31+00:00 app[web.1]:   from /home/heroku_rack/heroku.ru:23:in `eval'
2011-09-19T00:31:31+00:00 heroku[web.1]: Process exited
2011-09-19T00:31:32+00:00 heroku[web.1]: State changed from starting to crashed
2011-09-19T00:40:49+00:00 heroku[slugc]: Slug compilation started
2011-09-19T00:40:59+00:00 heroku[api]: Deploy 50313f5 by naguibs@stanford.edu
2011-09-19T00:40:59+00:00 heroku[api]: Release v5 created by naguibs@stanford.edu
2011-09-19T00:40:59+00:00 heroku[web.1]: State changed from crashed to created
2011-09-19T00:40:59+00:00 heroku[web.1]: State changed from created to starting
2011-09-19T00:41:00+00:00 heroku[slugc]: Slug compilation finished
2011-09-19T00:41:02+00:00 heroku[web.1]: Starting process with command `thin -p 22238 -e production -R /home/heroku_rack/heroku.ru start`
2011-09-19T00:41:06+00:00 app[web.1]: /app/.bundle/gems/ruby/1.9.1/gems/activesupport-3.0.3/lib/active_support/dependencies.rb:304:in `rescue in depend_on': No such file to load -- spec_helper (LoadError)
2011-09-19T00:41:06+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/activesupport-3.0.3/lib/active_support/dependencies.rb:299:in `depend_on'
2011-09-19T00:41:06+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/activesupport-3.0.3/lib/active_support/dependencies.rb:216:in `require_dependency'
2011-09-19T00:41:06+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/railties-3.0.3/lib/rails/engine.rb:138:in `block (2 levels) in eager_load!'
2011-09-19T00:41:06+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/railties-3.0.3/lib/rails/engine.rb:137:in `each'
2011-09-19T00:41:06+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/railties-3.0.3/lib/rails/engine.rb:137:in `block in eager_load!'
2011-09-19T00:41:06+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/railties-3.0.3/lib/rails/engine.rb:135:in `each'
2011-09-19T00:41:06+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/railties-3.0.3/lib/rails/engine.rb:135:in `eager_load!'
2011-09-19T00:41:06+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/railties-3.0.3/lib/rails/application.rb:108:in `eager_load!'
2011-09-19T00:41:06+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/railties-3.0.3/lib/rails/application/finisher.rb:41:in `block in <module:Finisher>'
2011-09-19T00:41:06+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/railties-3.0.3/lib/rails/initializable.rb:25:in `instance_exec'
2011-09-19T00:41:06+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/railties-3.0.3/lib/rails/initializable.rb:25:in `run'
2011-09-19T00:41:06+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/railties-3.0.3/lib/rails/initializable.rb:50:in `block in run_initializers'
2011-09-19T00:41:06+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/railties-3.0.3/lib/rails/initializable.rb:49:in `each'
2011-09-19T00:41:06+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/railties-3.0.3/lib/rails/initializable.rb:49:in `run_initializers'
2011-09-19T00:41:06+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/railties-3.0.3/lib/rails/application.rb:134:in `initialize!'
2011-09-19T00:41:06+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/railties-3.0.3/lib/rails/application.rb:77:in `method_missing'
2011-09-19T00:41:06+00:00 app[web.1]:   from /app/config/environment.rb:5:in `<top (required)>'
2011-09-19T00:41:06+00:00 app[web.1]:   from <internal:lib/rubygems/custom_require>:29:in `require'
2011-09-19T00:41:06+00:00 app[web.1]:   from <internal:lib/rubygems/custom_require>:29:in `require'
2011-09-19T00:41:06+00:00 app[web.1]:   from config.ru:3:in `block (3 levels) in <main>'
2011-09-19T00:41:06+00:00 app[web.1]:   from /home/heroku_rack/heroku.ru:23:in `eval'
2011-09-19T00:41:06+00:00 app[web.1]:   from /home/heroku_rack/heroku.ru:23:in `block (3 levels) in <main>'
2011-09-19T00:41:06+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/rack-1.2.1/lib/rack/builder.rb:46:in `instance_eval'
2011-09-19T00:41:06+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/rack-1.2.1/lib/rack/builder.rb:46:in `initialize'
2011-09-19T00:41:06+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/rack-1.2.1/lib/rack/builder.rb:63:in `new'
2011-09-19T00:41:06+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/rack-1.2.1/lib/rack/builder.rb:63:in `map'
2011-09-19T00:41:06+00:00 app[web.1]:   from /home/heroku_rack/heroku.ru:18:in `block (2 levels) in <main>'
2011-09-19T00:41:06+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/rack-1.2.1/lib/rack/builder.rb:46:in `instance_eval'
2011-09-19T00:41:06+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/rack-1.2.1/lib/rack/builder.rb:46:in `initialize'
2011-09-19T00:41:06+00:00 app[web.1]:   from /home/heroku_rack/heroku.ru:11:in `new'
2011-09-19T00:41:06+00:00 app[web.1]:   from /home/heroku_rack/heroku.ru:11:in `block in <main>'
2011-09-19T00:41:06+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/rack-1.2.1/lib/rack/builder.rb:46:in `instance_eval'
2011-09-19T00:41:06+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/rack-1.2.1/lib/rack/builder.rb:46:in `initialize'
2011-09-19T00:41:06+00:00 app[web.1]:   from /home/heroku_rack/heroku.ru:1:in `new'
2011-09-19T00:41:06+00:00 app[web.1]:   from /home/heroku_rack/heroku.ru:1:in `<main>'
2011-09-19T00:41:06+00:00 app[web.1]:   from /usr/ruby1.9.2/lib/ruby/gems/1.9.1/gems/thin-1.2.6/lib/rack/adapter/loader.rb:36:in `eval'
2011-09-19T00:41:06+00:00 app[web.1]:   from /usr/ruby1.9.2/lib/ruby/gems/1.9.1/gems/thin-1.2.6/lib/rack/adapter/loader.rb:36:in `load'
2011-09-19T00:41:06+00:00 app[web.1]:   from /usr/ruby1.9.2/lib/ruby/gems/1.9.1/gems/thin-1.2.6/lib/thin/controllers/controller.rb:175:in `load_rackup_config'
2011-09-19T00:41:06+00:00 app[web.1]:   from /usr/ruby1.9.2/lib/ruby/gems/1.9.1/gems/thin-1.2.6/lib/thin/controllers/controller.rb:65:in `start'
2011-09-19T00:41:06+00:00 app[web.1]:   from /usr/ruby1.9.2/lib/ruby/gems/1.9.1/gems/thin-1.2.6/lib/thin/runner.rb:177:in `run_command'
2011-09-19T00:41:06+00:00 app[web.1]:   from /usr/ruby1.9.2/lib/ruby/gems/1.9.1/gems/thin-1.2.6/lib/thin/runner.rb:143:in `run!'
2011-09-19T00:41:06+00:00 app[web.1]:   from /usr/ruby1.9.2/lib/ruby/gems/1.9.1/gems/thin-1.2.6/bin/thin:6:in `<top (required)>'
2011-09-19T00:41:06+00:00 app[web.1]:   from /usr/ruby1.9.2/bin/thin:19:in `load'
2011-09-19T00:41:06+00:00 app[web.1]:   from /usr/ruby1.9.2/bin/thin:19:in `<main>'
2011-09-19T00:41:06+00:00 heroku[web.1]: Process exited
2011-09-19T00:41:07+00:00 heroku[web.1]: State changed from starting to crashed

谢谢!

【问题讨论】:

  • 你有解决这个问题的办法吗????
  • 是的,我不记得确切的解决方案,但我相信当我指定我想要的确切 gem 版本时它已经修复(heroku 有更新的不兼容版本)

标签: ruby-on-rails ruby crash heroku activesupport


【解决方案1】:

我也有同样的事情。事实证明,在开发过程中,一个规范不知何故被复制到了控制器文件夹中。对本地没有任何影响,但是雪松崩溃了……

【讨论】:

  • 我认为您需要以简单的方式解决您的问题。否则您的问题解释会产生另一个问题
  • 我只是花了很多时间试图追查这个问题,你的回答解决了我的问题。我最终在我的应用程序中搜索“spec_helper”,发现我不小心将我的一个规范文件保存在模型文件夹中。
【解决方案2】:

我认为问题可能出在这一行:

/app/.bundle/gems/ruby/1.8/gems/activesupport-3.1.0/lib/active_support/dependencies.rb:306:in `depend_on': No such file to load -- spec_helper (LoadError)

您的初始化程序之一似乎包含require "spec_helper"(或在其他地方加载一个相同的文件)并且不应该。这可能与您的 Gemfile 中的宝石有关,这些宝石位于 :test 组中,默认情况下不会在 Heroku 上加载。

您可以尝试在本地运行 bundle install --without test development 来重现 Heroku 是如何安装 gems 的。请注意,在您从项目中删除 ./.bundle/config 文件之前,这将是 bundle 安装 gems 的永久方式,因此,一旦您想通了之后,您将需要这样做。

希望这会有所帮助...

【讨论】:

  • 我在任何初始化程序中都找不到带有 require "spec_helper" 的文件 :(。我做了捆绑安装 -- 没有测试开发并且没有发生错误。
  • 应用程序在本地运行,但在 heroku 上仍然失败
  • @Kyle 在你这样做之后。您应该通过在命令前加上bundle exec 来执行命令(例如rails srails crake something)。通过这种方式,您可以完全复制 heroku 环境。否则,您的命令仍然会看到“已卸载”的 gem。
【解决方案3】:

与乘客有同样的问题。问题是依赖于库的模型中的要求。将 lib 目录添加到自动加载并删除 all 需要(由fgrep 'require' -r app/ 找到)工作。

【讨论】:

    猜你喜欢
    • 2012-01-28
    • 2020-12-22
    • 2020-07-17
    • 2020-08-30
    • 1970-01-01
    • 2013-11-03
    • 1970-01-01
    • 2013-05-21
    • 1970-01-01
    相关资源
    最近更新 更多