1

我创建了示例 Rails 应用程序并部署到 heroku 中。Rails 版本是 3.1.3 Ruby 版本 1.8.7-p352,Ruby gem 版本 1.8.21。

将 Rails 推送到 Heroku 后,当我单击 heroku URL 时,会在网页中显示以下错误消息。

应用程序错误

应用程序发生错误,无法提供您的页面。请稍后重试。

如果您是应用程序所有者,请查看您的日志以获取详细信息。

我在终端中检查了我的日志,显示错误如下:

2012-04-05T05:08:36+00:00 app[web.1]:   from /home/heroku_rack/heroku.ru:11:in `block in <main>'
2012-04-05T05:08:36+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/rack-1.3.6/lib/rack/builder.rb:51:in `instance_eval'
2012-04-05T05:08:36+00:00 app[web.1]:   from /home/heroku_rack/heroku.ru:1:in `new'
2012-04-05T05:08:36+00:00 app[web.1]:   from /home/heroku_rack/heroku.ru:1:in `<main>'
2012-04-05T05:08:36+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/rack-1.3.6/lib/rack/builder.rb:51:in `initialize'
2012-04-05T05:08:36+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'
2012-04-05T05:08:36+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'
2012-04-05T05:08:36+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'
2012-04-05T05:08:36+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'
2012-04-05T05:08:36+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'
2012-04-05T05:08:36+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!'
2012-04-05T05:08:36+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)>'
2012-04-05T05:08:36+00:00 app[web.1]:   from /usr/ruby1.9.2/bin/thin:19:in `load'
2012-04-05T05:08:36+00:00 app[web.1]:   from /usr/ruby1.9.2/bin/thin:19:in `<main>'
2012-04-05T05:08:37+00:00 heroku[web.1]: Process exited with status 1
2012-04-05T05:08:37+00:00 heroku[web.1]: State changed from starting to crashed
2012-04-05T05:19:58+00:00 heroku[web.1]: State changed from crashed to created
2012-04-05T05:19:58+00:00 heroku[web.1]: State changed from created to starting
2012-04-05T05:20:02+00:00 heroku[web.1]: Starting process with command `thin -p 13221 -e production -R /home/heroku_rack/heroku.ru start`
2012-04-05T05:20:06+00:00 app[web.1]: /app/.bundle/gems/ruby/1.9.1/gems/activerecord-3.1.3/lib/active_record/connection_adapters/abstract/connection_specification.rb:71:in `rescue in establish_connection': Please install the postgresql adapter: `gem install activerecord-postgresql-adapter` (pg is not part of the bundle. Add it to Gemfile.) (RuntimeError)
2012-04-05T05:20:06+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/activerecord-3.1.3/lib/active_record/connection_adapters/abstract/connection_specification.rb:68:in `establish_connection'
2012-04-05T05:20:06+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/activerecord-3.1.3/lib/active_record/connection_adapters/abstract/connection_specification.rb:60:in `establish_connection'
2012-04-05T05:20:06+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/activerecord-3.1.3/lib/active_record/connection_adapters/abstract/connection_specification.rb:55:in `establish_connection'
2012-04-05T05:20:06+00:00 app[web.1]:   from /app/.bundle/gems/rub
y/1.9.1/gems/activerecord-3.1.3/lib/active_record/railtie.rb:69:in `block (2 levels) in <class:Railtie>'
2012-04-05T05:20:06+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/activesupport-3.1.3/lib/active_support/lazy_load_hooks.rb:43:in `block in run_load_hooks'
2012-04-05T05:20:06+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/activesupport-3.1.3/lib/active_support/lazy_load_hooks.rb:42:in `each'
2012-04-05T05:20:06+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/activesupport-3.1.3/lib/active_support/lazy_load_hooks.rb:36:in `instance_eval'
2012-04-05T05:20:06+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/activesupport-3.1.3/lib/active_support/lazy_load_hooks.rb:36:in `execute_hook'
2012-04-05T05:20:06+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/activesupport-3.1.3/lib/active_support/lazy_load_hooks.rb:42:in `run_load_hooks'
2012-04-05T05:20:06+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/activerecord-3.1.3/lib/active_record/base.rb:2190:in `<top (required)>'
2012-04-05T05:20:06+00:00 app[web.1]:   from /app/app/models/product.rb:1:in `<top (required)>'
2012-04-05T05:20:06+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:240:in `require'
2012-04-05T05:20:06+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:240:in `block in require'
2012-04-05T05:20:06+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:240:in `require'
2012-04-05T05:20:06+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:225:in `load_dependency'
2012-04-05T05:20:06+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:348:in `require_or_load'
2012-04-05T05:20:06+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:181:in `block in const_missing'
2012-04-05T05:20:06+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:489:in `load_missing_constant'
2012-04-05T05:20:06+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:179:in `each'
2012-04-05T05:20:06+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/activesupport-3.1.3/lib/active_support/inflector/methods.rb:123:in `each'
2012-04-05T05:20:06+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/activesupport-3.1.3/lib/active_support/inflector/methods.rb:123:in `constantize'
2012-04-05T05:20:06+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:179:in `const_missing'
2012-04-05T05:20:06+00:00 app[web.1]:
    from /app/.bundle/gems/ruby/1.9.1/gems/activesupport-3.1.3/lib/active_support/inflector/methods.rb:124:in `block in constantize'
2012-04-05T05:20:06+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/activesupport-3.1.3/lib/active_support/core_ext/string/inflections.rb:43:in `constantize'
2012-04-05T05:20:06+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/actionpack-3.1.3/lib/action_controller/metal/params_wrapper.rb:128:in `inherited'
2012-04-05T05:20:06+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/actionpack-3.1.3/lib/abstract_controller/railties/routes_helpers.rb:7:in `block (2 levels) in with'
2012-04-05T05:20:06+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/actionpack-3.1.3/lib/action_controller/metal/params_wrapper.rb:167:in `_set_wrapper_defaults'
2012-04-05T05:20:06+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/actionpack-3.1.3/lib/action_controller/metal/params_wrapper.rb:148:in `_default_wrap_model'
2012-04-05T05:20:06+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/actionpack-3.1.3/lib/action_controller/railties/paths.rb:7:in `block (2 levels) in with'
2012-04-05T05:20:06+00:00 app[web.1]:   from /app/app/controllers/products_controller.rb:1:in `<top (required)>'
2012-04-05T05:20:06+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:240:in `require'
2012-04-05T05:20:06+00:00 app[web.1]:   f
rom /app/.bundle/gems/ruby/1.9.1/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:240:in `block in require'
2012-04-05T05:20:06+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:225:in `load_dependency'
2012-04-05T05:20:06+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:240:in `require'
2012-04-05T05:20:06+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:348:in `require_or_load'
2012-04-05T05:20:06+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:302:in `depend_on'
2012-04-05T05:20:06+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:214:in `require_dependency'
2012-04-05T05:20:06+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/railties-3.1.3/lib/rails/engine.rb:417:in `block (2 levels) in eager_load!'
2012-04-05T05:20:06+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/railties-3.1.3/lib/rails/engine.rb:416:in `each'
2012-04-05T05:20:06+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/railties-3.1.3/lib/rails/engine.rb:416:in `block in eager_load!'
2012-04-05T05:20:06+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/railties-3.1.3/lib/rails/engine.rb:414:in `each'
2012-04-05T05:20:06+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/railties-3.1.3/lib/rails/engine.rb:414:in `eager_load!'
2012-04-05T05:20:06+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/railties-3.1.3/lib/rails/initializable.rb:30:in `instance_exec'
2012-04-05T05:20:06+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/railties-3.1.3/lib/rails/application/finisher.rb:51:in `block in <module:Finisher>'
2012-04-05T05:20:06+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/railties-3.1.3/lib/rails/initializable.rb:30:in `run'
2012-04-05T05:20:06+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/railties-3.1.3/lib/rails/initializable.rb:55:in `block in run_initializers'
2012-04-05T05:20:06+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/railties-3.1.3/lib/rails/initializable.rb:54:in `each'
2012-04-05T05:20:06+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/railties-3.1.3/lib/rails/initializable.rb:54:in `run_initializers'
2012-04-05T05:20:06+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/railties-3.1.3/lib/rails/application.rb:96:in `initialize!'
2012-04-05T05:20:06+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/railties-3.1.3/lib/rails/railtie/configurable.rb:30:in `method_missing'
2012-04-05T05:20:06+00:00 app[web.1]:   from /app/config/environment.rb:5:in `<top (required)>'
2012-04-05T05:20:06+00:00 app[web.1]:   from <internal:lib/rubygems/custom_require>:29:in `require'
2012-04-05T05:20:06+00:00 app[web.1]:   from <internal:lib/rubygems/custom_require>:29:in `require'
2012-04-05T05:20:06+00:00 app[web.1]:   from config.ru:3:in `block (3 levels) in <main>'
2012-04-05T05:20:06+00:00 app[web.1]:   from /home/heroku_rack/heroku.ru:23:in `block (3 levels) in <main>'
2012-04-05T05:20:06+00:00 app[web.1]:   from /home/heroku_rack/heroku.ru:23:in `eval'
2012-04-05T05:20:06+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/rack-1.3.6/lib/rack/builder.rb:51:in `instance_eval'
2012-04-05T05:20:06+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/rack-1.3.6/lib/rack/builder.rb:51:in `initialize'
2012-04-05T05:20:06+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/rack-1.3.6/lib/rack/builder.rb:120:in `new'
2012-04-05T05:20:06+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/rack-1.3.6/lib/rack/builder.rb:120:in `map'
2012-04-05T05:20:06+00:00 app[web.1]:   from /home/heroku_rack/heroku.ru:18:in `block (2 levels) in <main>'
2012-04-05T05:20:06+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/rack-1.3.6/lib/rack/builder.rb:51:in `instance_eval'
2012-04-05T05:20:06+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/rack-1.3.6/lib/rack/builder.rb:51:in `initialize'
2012-04-05T05:20:06+00:00 app[web.1]:   from /home/heroku_rack/heroku.ru:11:in `new'
2012-04-05T05:20:06+00:00 app[web.1]:   from /home/heroku_rack/heroku.ru:11:in `block in <main>'
2012-04-05T05:20:06+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/rack-1.3.6/lib/rack/builder.rb:51:in `instance_eval'
2012-04-05T05:20:06+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/rack-1.3.6/lib/rack/builder.rb:51:in `initialize'
2012-04-05T05:20:06+00:00 app[web.1]:   from /home/heroku_rack/heroku.ru:1:in `new'
2012-04-05T05:20:06+00:00 app[web.1]:   from /home/heroku_rack/heroku.ru:1:in `<main>'
2012-04-05T05:20: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'
2012-04-05T05:20: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'
2012-04-05T05:20: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'
2012-04-05T05:20: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'
2012-04-05T05:20: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'
2012-04-05T05:20: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!'
2012-04-05T05:20: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)>'
2012-04-05T05:20:06+00:00 app[web.1]:   from /usr/ruby1.9.2/bin/thin:19:in `load'
2012-04-05T05:20:06+00:00 app[web.1]:   from /usr/ruby1.9.2/bin/thin:19:in `<main>'
2012-04-05T05:20:08+00:00 heroku[web.1]: Process exited with status 1
2012-04-05T05:20:08+00:00 heroku[web.1]: State changed from starting to crashed

我正在使用 MySQL 数据库。我可以使用 Mysql 数据库运行 rails 应用程序吗?如何解决这个问题?

4

2 回答 2

0

您缺少 gemfile 中的姿势 gem

gem "pg"

是你需要的

于 2012-04-05T05:39:28.443 回答
0

Heroku 提供了开箱即用的 PostgreSQL,因此出现了关于pggem 的错误。你有两个选择。

  1. 调整您的应用程序以使用 PostgreSQL,如果您使用诸如 ActiveRecord 之类的 ORM 并假设您没有使用自定义 SQL,这应该不会那么难,或者

  2. 转而使用其中一种 MySQL 附加组件,例如ClearDBAmazon RDS

于 2012-04-05T11:49:18.210 回答