5

我有一个在 localhost (Mac OS X) 上运行良好的简单 Rails 应用程序,但是当我将它部署到 Heroku 时,我看到一个页面出现此错误:

应用程序错误 应用程序发生错误,无法提供您的页面。请稍后重试。如果您是应用程序所有者,请查看您的日志以获取详细信息。

我真的不知道我在这里做什么;我对来自以下的输出没有任何意义heroku logs

2013-04-08T03:25:02+00:00 app[web.1]: => Booting WEBrick
2013-04-08T03:25:02+00:00 app[web.1]: => Rails 3.2.12 application starting in production on http://0.0.0.0:15072
2013-04-08T03:25:02+00:00 app[web.1]: => Call with -d to detach
2013-04-08T03:25:02+00:00 app[web.1]: => Ctrl-C to shutdown server
2013-04-08T03:25:02+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.12/lib/rails/engine.rb:438:in `each'
2013-04-08T03:25:02+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.12/lib/rails/engine.rb:438:in `block in eager_load!'
2013-04-08T03:25:02+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.12/lib/rails/engine.rb:436:in `each'
2013-04-08T03:25:02+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.12/lib/rails/engine.rb:436:in `eager_load!'
2013-04-08T03:25:02+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.12/lib/rails/application/finisher.rb:53:in `block in <module:Finisher>'
2013-04-08T03:25:02+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.12/lib/rails/initializable.rb:30:in `instance_exec'
2013-04-08T03:25:02+00:00 app[web.1]:   from /app/app/controllers/application_controller.rb:1:in `<top (required)>'
2013-04-08T03:25:02+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.12/lib/rails/engine.rb:439:in `block (2 levels) in eager_load!'
2013-04-08T03:25:02+00:00 app[web.1]: /app/app/controllers/application_controller.rb:3:in `<class:ApplicationController>': uninitialized constant ApplicationController::SessionsHelper (NameError)
2013-04-08T03:25:02+00:00 app[web.1]: Exiting
2013-04-08T03:25:02+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.12/lib/rails/initializable.rb:54:in `run_initializers'
2013-04-08T03:25:02+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.12/lib/rails/application.rb:136:in `initialize!'
2013-04-08T03:25:02+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.12/lib/rails/railtie/configurable.rb:30:in `method_missing'
2013-04-08T03:25:02+00:00 app[web.1]:   from /app/config/environment.rb:5:in `<top (required)>'
2013-04-08T03:25:02+00:00 app[web.1]:   from /app/config.ru:3:in `require'
2013-04-08T03:25:02+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.12/lib/rails/initializable.rb:54:in `each'
2013-04-08T03:25:02+00:00 app[web.1]:   from /app/config.ru:3:in `block in <main>'
2013-04-08T03:25:02+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/rack-1.4.5/lib/rack/builder.rb:51:in `initialize'
2013-04-08T03:25:02+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.12/lib/rails/initializable.rb:30:in `run'
2013-04-08T03:25:02+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.12/lib/rails/initializable.rb:55:in `block in run_initializers'
2013-04-08T03:25:02+00:00 app[web.1]:   from /app/config.ru:in `<main>'
2013-04-08T03:25:02+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/rack-1.4.5/lib/rack/builder.rb:40:in `eval'
2013-04-08T03:25:02+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/rack-1.4.5/lib/rack/builder.rb:40:in `parse_file'
2013-04-08T03:25:02+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/rack-1.4.5/lib/rack/server.rb:200:in `app'
2013-04-08T03:25:02+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/rack-1.4.5/lib/rack/builder.rb:51:in `instance_eval'
2013-04-08T03:25:02+00:00 app[web.1]:   from /app/config.ru:in `new'
2013-04-08T03:25:02+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.12/lib/rails/commands/server.rb:46:in `app'
2013-04-08T03:25:02+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/rack-1.4.5/lib/rack/server.rb:304:in `wrapped_app'
2013-04-08T03:25:02+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/rack-1.4.5/lib/rack/server.rb:254:in `start'
2013-04-08T03:25:02+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.12/lib/rails/commands/server.rb:70:in `start'
2013-04-08T03:25:02+00
:00 app[web.1]:     from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.12/lib/rails/commands.rb:50:in `<top (required)>'
2013-04-08T03:25:02+00:00 app[web.1]:   from script/rails:6:in `require'
2013-04-08T03:25:02+00:00 app[web.1]:   from script/rails:6:in `<main>'
2013-04-08T03:25:02+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.12/lib/rails/commands.rb:55:in `block in <top (required)>'
2013-04-08T03:25:02+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.12/lib/rails/commands.rb:50:in `tap'
2013-04-08T03:25:03+00:00 heroku[web.1]: State changed from crashed to starting
2013-04-08T03:25:03+00:00 heroku[web.1]: State changed from starting to crashed
2013-04-08T03:25:03+00:00 heroku[web.1]: Process exited with status 1
2013-04-08T03:25:05+00:00 heroku[web.1]: Starting process with command `bundle exec rails server -p 7369`
2013-04-08T03:25:09+00:00 heroku[web.1]: State changed from crashed to starting
2013-04-08T03:25:09+00:00 app[web.1]: DEPRECATION WARNING: You have Rails 2.3-style plugins in vendor/plugins! Support for these plugins will be removed in Rails 4.0. Move them out and bundle them in your Gemfile, or fold them in to your app as lib/myplugin/* and config/initializers/myplugin.rb. See the release notes for more on this: http://weblog.rubyonrails.org/2012/1/4/rails-3-2-0-rc2-has-been-released. (called from <top (required)> at /app/config/environment.rb:5)
2013-04-08T03:25:09+00:00 app[web.1]: DEPRECATION WARNING: You have Rails 2.3-style plugins in vendor/plugins! Support for these plugins will be removed in Rails 4.0. Move them out and bundle them in your Gemfile, or fold them in to your app as lib/myplugin/* and config/initializers/myplugin.rb. See the release notes for more on this: http://weblog.rubyonrails.org/2012/1/4/rails-3-2-0-rc2-has-been-released. (called from <top (required)> at /app/config/environment.rb:5)
2013-04-08T03:25:11+00:00 app[web.1]: Exiting
2013-04-08T03:25:11+00:00 app[web.1]: /app/app/controllers/application_controller.rb:3:in `<class:ApplicationController>': uninitialized constant ApplicationController::SessionsHelper (NameError)
2013-04-08T03:25:11+00:00 app[web.1]: => Ctrl-C to shutdown server
2013-04-08T03:25:11+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.12/lib/rails/engine.rb:439:in `block (2 levels) in eager_load!'
2013-04-08T03:25:11+00:00 app[web.1]: => Call with -d to detach
2013-04-08T03:25:11+00:00 app[web.1]:   from /app/app/controllers/application_controller.rb:1:in `<top (required)>'
2013-04-08T03:25:11+00:00 app[web.1]: => Booting WEBrick
2013-04-08T03:25:11+00:00 app[web.1]: => Rails 3.2.12 application starting in production on http://0.0.0.0:7369
2013-04-08T03:25:11+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.12/lib/rails/engine.rb:436:in `each'
2013-04-08T03:25:11+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.12/lib/rails/initializable.rb:54:in `each'
2013-04-08T03:25:11+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.12/lib/rails/engine.rb:436:in `eager_load!'
2013-04-08T03:25:11+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.12/lib/rails/engine.rb:438:in `block in eager_load!'
2013-04-08T03:25:11+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.12/lib/rails/initializable.rb:30:in `instance_exec'
2013-04-08T03:25:11+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.12/lib/rails/application/finisher.rb:53:in `block in <module:Finisher>'
2013-04-08T03:25:11+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.12/lib/rails/initializable.rb:55:in `block in run_initializers'
2013-04-08T03:25:11+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.12/lib/rails/application.rb:136:in `initialize!'
2013-04-08T03:25:11+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.12/lib/rails/engine.rb:438:in `each'
2013-04-08T03:25:11+00:00 app[web.1]:   from /app/config.ru:in `new'
2013-04-08T03:25:11+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/rack-1.4.5/lib/rack/builder.rb:51:in `initialize'
2013-04-08T03:25:11+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.12/lib/rails/initializable.rb:30:in `run'
2013-04-08T03:25:11+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.12/lib/rails/railtie/configurable.rb:30:in `method_missing'
2013-04-08T03:25:11+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/rack-1.4.5/lib/rack/builder.rb:40:in `eval'
2013-04-08T03:25:11+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.12/lib/rails/initializable.rb:54:in `run_initializers'
2013-04-08T03:25:11+00:00 app[web.1]:   from /app/config/environment.rb:5:in `<top (required)>'
2013-04-08T03:25:11+00:00 app[web.1]:   from /app/config.ru:3:in `require'
2013-04-08T03:25:11+00:00 app[web.1]:   from /app/config.ru:3:in `block in <main>'
2013-04-08T03:25:11+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/rack-1.4.5/lib/rack/builder.rb:51:in `instance_eval'
2013-04-08T03:25:11+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.12/lib/rails/commands/server.rb:46:in `app'
2013-04-08T03:25:11+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/rack-1.4.5/lib/rack/server.rb:254:in `start'
2013-04-08T03:25:11+00:00 app[web.1]:   from /app/config.ru:in `<main>'
2013-04-08T03:25:11+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/rack-1.4.5/lib/rack/builder.rb:40:in `parse_file'
2013-04-08T03:25:11+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/rack-1.4.5/lib/rack/server.rb:200:in `app'
2013-04-08T03:25:11+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/rack-1.4.5/lib/rack/server.rb:304:in `wrapped_app'
2013-04-08T03:25:11+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.12/lib/rails/commands/server.rb:70:in `start'
2013-04-08T03:25:11+00:00 app[web.1]:   from script/rails:6:in `require'
2013-04-08T03:25:11+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.12/lib/rails/commands.rb:55:in `block in <top (required)>'
2013-04-08T03:25:11+00:00 app[web.1]:   from script/rails:6:in `<main>'
2013-04-08T03:25:11+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.12/lib/rails/commands.rb:50:in `tap'
2013-04-08T03:25:11+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.12/lib/rails/commands.rb:50:in `<top (required)>'
2013-04-08T03:25:13+00:00 heroku[web.1]: Process exited with status 1
2013-04-08T03:25:13+00:00 heroku[web.1]: State changed from starting to crashed
2013-04-08T03:30:49+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/ host=********.herokuapp.com fwd="115.79.161.252" dyno= connect= service= status=503 bytes=
2013-04-08T03:30:49+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/favicon.ico host=********.herokuapp.com fwd="115.79.161.252" dyno= connect= service= status=503 bytes=
2013-04-08T03:30:50+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/ host=********.herokuapp.com fwd="115.79.161.252" dyno= connect= service= status=503 bytes=
2013-04-08T03:30:51+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/favicon.ico host=********.herokuapp.com fwd="115.79.161.252" dyno= connect= service= status=503 bytes=

我见过的一些类似问题建议运行heroku run rake db:migrate,这给了我这个输出:

Running `rake db:migrate` attached to terminal... up, run.5112
DEPRECATION WARNING: You have Rails 2.3-style plugins in vendor/plugins! Support for these plugins will be removed in Rails 4.0. Move them out and bundle them in your Gemfile, or fold them in to your app as lib/myplugin/* and config/initializers/myplugin.rb. See the release notes for more on this: http://weblog.rubyonrails.org/2012/1/4/rails-3-2-0-rc2-has-been-released. (called from <top (required)> at /app/Rakefile:7)
DEPRECATION WARNING: You have Rails 2.3-style plugins in vendor/plugins! Support for these plugins will be removed in Rails 4.0. Move them out and bundle them in your Gemfile, or fold them in to your app as lib/myplugin/* and config/initializers/myplugin.rb. See the release notes for more on this: http://weblog.rubyonrails.org/2012/1/4/rails-3-2-0-rc2-has-been-released. (called from <top (required)> at /app/Rakefile:7)
rake aborted!
no such file to load -- nokogiri
/app/lib/tasks/pivotal.rake:8:in `require'
/app/lib/tasks/pivotal.rake:8:in `<top (required)>'
/app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.12/lib/rails/engine.rb:425:in `load'
/app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.12/lib/rails/engine.rb:425:in `block in load_tasks'
/app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.12/lib/rails/engine.rb:425:in `each'
/app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.12/lib/rails/engine.rb:425:in `load_tasks'
/app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.12/lib/rails/application.rb:145:in `load_tasks'
/app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.12/lib/rails/railtie/configurable.rb:30:in `method_missing'
/app/Rakefile:7:in `<top (required)>'
(See full trace by running task with --trace)

这条线no such file to load -- nokogiri看起来可能是罪魁祸首,但我不知道如何解决它;我已经尝试运行bundle install, bundle update, 重新启动 herokuheroku restart以及其他各种我现在不记得的基于猜测的解决方案,但它仍然无法正常工作!

这是我的 Gemfile:

source 'https://rubygems.org'

gem 'rails', '3.2.12'
gem 'bootstrap-sass'
gem 'bcrypt-ruby', '3.0.1'
gem 'paperclip', '~> 3.4.1'
gem 'nokogiri'

gem "watu_table_builder", require: "table_builder"

group :development, :test do
  gem 'sqlite3', '1.3.5'
  gem 'rspec-rails', '2.13.0'
  gem 'guard-rspec', '1.2.1'
  gem 'guard-spork', :github => 'guard/guard-spork'
  gem 'spork', '0.9.2'
  gem 'factory_girl_rails', '4.1.0', :require => false
end

group :development do
  gem 'annotate'
end

# Gems used only for assets and not required

# in production environments by default.

group :assets do
  gem 'sass-rails',   '3.2.5'
  gem 'coffee-rails', '3.2.2'
  gem 'uglifier', '1.2.3'
end

gem 'jquery-rails', '2.0.2'

group :test do
  gem 'capybara', '1.1.2'
  # Gems specific to Mac OS X:
  gem 'capybara', '1.1.2'
  gem 'rb-fsevent', '0.9.1', :require => false
  gem 'growl', '1.0.3'
end

group :production do
  gem 'pg', '0.12.2'
end
4

1 回答 1

1

应用程序控制器第 3 行,
/app/app/controllers/application_controller.rb:3:in `': 未初始化的常量 ApplicationController::SessionsHelper (NameError)

此外,你应该为 Heroku 离开 WEBrick,那是一个开发服务器。尝试使用独角兽https://devcenter.heroku.com/articles/rails-unicorn

于 2013-04-10T15:58:08.447 回答