【问题标题】:Rails App Deploy to Heroku ErrorRails 应用程序部署到 Heroku 错误
【发布时间】:2017-02-25 13:51:29
【问题描述】:

我正在尝试将我的第一个应用从 Github 部署到 Heroku。我按“部署分支”并收到消息:

“您的应用已成功部署”

但是当我打开视图时,我看到的是以下消息而不是我的应用程序:

“应用程序错误。应用程序和您的页面出现错误 无法送达。如果您是应用程序所有者,请检查您的日志 详情”

我尝试了很多方法来修复它,但结果还是一样,找不到我做错了什么。如何正确修复我的部署并查看我的应用在 Heroku 上启动并运行?

Heroku 构建日志:

https://gist.github.com/Evanto/4ce2afa5a9e75b7154727356d77737e1

我正在尝试部署到 Heroku 的 Github 分支:

https://github.com/Evanto/MovieApp/tree/heroku

https://movieapps.herokuapp.com/

【问题讨论】:

  • 你可以接受正确的答案。

标签: ruby-on-rails ruby git heroku deployment


【解决方案1】:

在您的日志中,它显示以下内容:

Gem::LoadError: 为数据库适配器指定了“postgresql”,但是 gem 没有被加载。将gem 'pg' 添加到您的 Gemfile

Heroku 仅支持 pg 作为选择的数据库,因此您需要将以下行添加到您的 Gemfile

gem 'pg'

编辑:

不,您需要在您的 database.yml 文件中为 Heroku 提供任何用户名或密码。在上述文件中写入以下内容对您来说很好。

default: &default
  adapter: postgresql
  encoding: unicode
  pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>

development:
  <<: *default
  database: project_name_development
production:
  <<: *default
  database: project_name_production
test:
  <<: *default
  database: project_name_test

【讨论】:

  • 如果您在需要更改 config/database.yml 文件之前使用了“pg”以外的其他数据库,请指定 pg 设置。再次部署后,运行 heroku rake db:migrate
  • 是的,您还需要更改config/database.yml 文件,部署您的代码,然后运行以下命令:heroku run rake db:createheroku run rake db:migrate
  • 谢谢,我应该从哪里获得 database.yml 的凭据(数据库名称、登录名、密码)?
  • @Evanto 我刚刚编辑了我的答案。请看一看。
【解决方案2】:

宝石文件

gem 'pg'

config/database.yml

default: &default
  adapter: postgresql
  pool: 5
  timeout: 5000
  username : root
  password : root
  database: db_name

development:
  <<: *default

test:
  <<: *default

production:
  <<: *default

在终端上:

rake db:migrate

【讨论】:

  • 在终端上运行“heroku logs -t”并检查日志下的问题。
  • 谢谢!我应该在哪里获取用户名、密码和数据库名称?
  • data.heroku.com 面板中有凭据,但 heroku 手册说“不要将数据库凭据复制并粘贴到单独的环境或应用程序代码中。”
  • 用户名和密码用于本地环境。在 heroku 上,他们会自动使用他们的信用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-05-15
  • 1970-01-01
  • 1970-01-01
  • 2013-12-25
  • 1970-01-01
  • 1970-01-01
  • 2016-12-25
相关资源
最近更新 更多