Heroku App崩溃 - 报告ActiveSupport gem中的错误

时间:2011-07-07 22:46:26

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

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

1)重新安装ActiveSupport gem 2)将我的Git提交回到前一个工作正常的Git。 3)将我的应用程序复制到一个新文件夹 - 创建一个新的Git Repo,在新文件夹中做bundle install,制作提交,添加Heroku远程源,将应用程序推送到Heroku - 没有帮助。

My Rails版本:3.0.3 Ruby: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'

2 个答案:

答案 0 :(得分:1)

如果你使用Rails 3x,你应该使用rubygems 1.9.2,而不是1.8.7。还要确保在environment.rb中声明了正确的rails版本,如果你在rails 2x以及你的Gemfile上。

所以对于rails 2x项目

的environment.rb

RAILS_GEM_VERSION = '2.3.8' unless defined? RAILS_GEM_VERSION

的Gemfile

gem 'rails', '2.3.8'

和rails 3x项目

的Gemfile

gem 'rails', '3.0.7'

这样heroku知道在哪个gem设置下加载哪个rails版本。你应该能够

git push heroku master

如果全部理顺

答案 1 :(得分:-1)

好的,我已经解决了这个问题。我想让自己从世界上最高的建筑物中脱身而出。自上周以来,我一直在努力解决这个问题。

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

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