我在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'
答案 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
更改名称扩展名解决了我的问题!