如何将我的Rails应用程序推送到Heroku

时间:2017-03-14 19:06:17

标签: ruby-on-rails ruby git heroku

我已经对我需要迁移的数据库进行了更改。

将我的更改提交到github后没有问题,当我尝试使用

将我的应用程序推送到Heroku时
push heroku master

我在命令行上收到几条错误消息。

Running: bundle install --without development:test --path vendor/bundle --binstubs vendor/bundle/bin -j4 --deployment
remote:        Warning: the running version of Bundler (1.13.7) is older than the version that created the lockfile (1.14.6). We suggest you upgrade to the latest version of Bundler by running `gem install bundler`.

由于错误指示,我跑了

gem install bundler

然后它给了我第二个错误:

WARNING:
remote: No Procfile detected, using the default web server.
remote: We recommend explicitly declaring how to boot your server process via a Procfile
devcenter.heroku.com/articles/ruby-default-web-server

我按照所附链接网站上的说明操作,但没有解决问题。

任何人都可以告诉我,我是否在大局中遗漏了什么?

背景/更多信息:我过去将数据库迁移到Heroku没有问题,为产品添加了一个方法,然后出现了很多错误。

enter image description here

2 个答案:

答案 0 :(得分:2)

Heroku限制您的应用可以在制作中使用的Bundler版本。即使您的版本较新 - 它也会生成上述消息。

请参阅https://devcenter.heroku.com/articles/bundler-version

对于Procfile消息 - 因为您尝试安装服务器gem(很可能是Puma)而生成,该服务器需要该文件在Heroku而不是Webrick上运行。 Webrick通常被认为不适合生产使用,因为它不能同时接受大量的传入请求。

如果您尝试运行Puma,请按照https://devcenter.heroku.com/articles/deploying-rails-applications-with-the-puma-web-server的说明操作。

答案 1 :(得分:0)

在您的bundler错误中,您应该能够安全地忽略它(因为您收到警告而不是真正的错误)。请参阅Heroku article

关于procfile错误,请访问引用的文章或阅读Process Types and the Procfile。同样,您可以安全地忽略此警告,Heroku将使用默认Web服务器启动(Webrick,我相信)。