5

尝试部署我的 Ruby on Rails 应用程序时出现此错误。这是我的命令行中的错误:

 ###### WARNING:
remote:        No Procfile detected, using the default web server (webrick)
remote:        https://devcenter.heroku.com/articles/ruby-default-web-server

remote:
remote: -----> Discovering process types
remote:        Procfile declares types -> (none)
remote:        Default types for Ruby  -> console, rake, web, worker
remote:
remote: -----> Compressing... done, 29.5MB
remote: -----> Launching... done, v21
remote:        https://agile-sea-1900.herokuapp.com/ deployed to Heroku
remote:
remote: Verifying deploy... done.
To https://git.heroku.com/agile-sea-1900.git
   e5d3ad8..975d5eb  master -> master

我尝试遵循“未检测到 Procfile,使用默认 Web 服务器”[ archive.org ] 中的建议 - 捆绑thingem 并创建包含以下内容的 Procfile:

web: bundle exec thin start -p $PORT

但这没有帮助。

4

2 回答 2

6

除了评论中给出的信息之外,您还有此错误,因为在您的 中Procfile,您有:

web: bundle exec rails server -p $PORT

因此将使用默认值webrick

为了消除此警告,您应该使用其他 Web 服务器,例如 Unicorn、Thin 或 Puma。

Heroku 现在提倡使用 Puma(参见Changelog)。

要开始使用 Puma 和 Heroku,您可以按照Heroku 网站上的文章使用 Puma Web 服务器部署 Rails 应用程序

于 2015-05-06T19:17:41.183 回答
1

就我而言,由于其他在线指南页面,我忽略了 .gitignore 中的 Procfile。当时,他们给出了隐藏文件的指令,这些文件声明了包含邮件帐户信息的环境变量。因此,请检查您的 .gitignore 文件,如果您在其中看到 Procfile 则将其删除。

于 2016-01-14T01:43:34.310 回答