【问题标题】:Heroku App Crashes - Reports Error in ActiveSupport gemHeroku 应用程序崩溃 - 在 ActiveSupport gem 中报告错误
【发布时间】:2011-07-07 22:46:25
【问题描述】:

我很难在 Heroku 上运行我的应用程序 - 该应用程序在我的本地计算机上运行完美。 :( 日志报告了我的 ActiveSupport gem 的一些问题。所以,我采取了这些措施:

1) 重新安装 ActiveSupport gem 2) 将我的 Git 提交回滚到之前运行良好的提交。 3) 将我的应用程序复制到一个新文件夹 - 创建了一个新的 Git 存储库,在新文件夹中执行 bundle install,提交,添加 Heroku 远程源,将应用程序推送到 Heroku - 没有帮助。

我的 Rails 版本:3.0.3 红宝石:1.8.7

这是我的 Heroku 日志(更新)

令人惊讶的是,我在 ./bundle/gems/ruby/1.9.1 之后得到了 1.9.1,而该项目使用的是 Ruby 1.8.7。有什么想法可以解决这个问题吗?

    2011-07-08T00:42:53+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 -- errors_helper (LoadError)
2011-07-08T00:42:53+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-07-08T00:42:53+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-07-08T00:42:53+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-07-08T00:42:53+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-07-08T00:42:53+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-07-08T00:42:53+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-07-08T00:42:53+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-07-08T00:42:53+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-07-08T00:42:53+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-07-08T00:42:53+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-07-08T00:42:53+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-07-08T00:42:53+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-07-08T00:42: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 `each'
2011-07-08T00:42: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-07-08T00:42: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-07-08T00:42: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-07-08T00:42:53+00:00 app[web.1]:   from /app/config/environment.rb:5:in `<top (required)>'
2011-07-08T00:42:53+00:00 app[web.1]:   from <internal:lib/rubygems/custom_require>:29:in `require'
2011-07-08T00:42:53+00:00 app[web.1]:   from <internal:lib/rubygems/custom_require>:29:in `require'
2011-07-08T00:42:53+00:00 app[web.1]:   from config.ru:3:in `block (3 levels) in <main>'
2011-07-08T00:42:53+00:00 app[web.1]:   from /home/heroku_rack/heroku.ru:23:in `eval'
2011-07-08T00:42:53+00:00 app[web.1]:   from /home/heroku_rack/heroku.ru:23:in `block (3 levels) in <main>'
2011-07-08T00:42:53+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/rack-1.2.3/lib/rack/builder.rb:46:in `instance_eval'
2011-07-08T00:42:53+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/rack-1.2.3/lib/rack/builder.rb:46:in `initialize'
2011-07-08T00:42:53+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/rack-1.2.3/lib/rack/builder.rb:63:in `new'
2011-07-08T00:42:53+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/rack-1.2.3/lib/rack/builder.rb:63:in `map'

【问题讨论】:

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


    【解决方案1】:

    如果您使用的是 Rails 3x,则应该使用 ruby​​gems 1.9.2,而不是 1.8.7。如果您在 rails 2x 和 Gemfile 上,还要确保在 environment.rb 中声明了正确的 rails 版本。

    所以对于 rails 2x 项目

    环境.rb

    RAILS_GEM_VERSION = '2.3.8' unless defined? RAILS_GEM_VERSION
    

    宝石文件

    gem 'rails', '2.3.8'
    

    对于 rails 3x 项目

    宝石文件

    gem 'rails', '3.0.7'
    

    这样heroku 就知道要在哪个gem 集下加载哪个rails 版本。你应该可以

    git push heroku master
    

    如果一切都解决了

    【讨论】:

    • 你好克里斯,我已经在适当的文件中定义了。
    • 附带说明,Rails 3.x 在 Ruby 1.8.7 上运行良好 - Rails 3.x 不需要 Ruby 1.9.2
    【解决方案2】:

    好的,我已经解决了这个问题。我想为此从世界上最高的建筑中跳下来。自上周以来,我一直在为此苦苦挣扎。

    在我的app/helpers 目录中有一个名为errors_helper.rb 的文件,不幸的是它被命名为errors_helper.rb.rb

    更改扩展名解决了我的问题!

    【讨论】:

    • 我遇到了同样的问题,我找不到 errors_helper.rb.rb 。我认为有一些错误与错误的文件名无关。可能与 Rails 和 ruby​​ gems 冲突有关。
    • 如果您现在还没有意识到 - 这是一个仅在我的环境中发生的问题。你可能有一些不同的问题。如果你在讽刺 - 你还不够讽刺。
    猜你喜欢
    • 2015-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-20
    • 2012-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多