Heroku procfile"没有在Procfile中定义的此类进程类型Web"错误

JVG*_*JVG 18 heroku foreman heroku-toolbelt

这是我第一次使用Heroku,而事实上,我无法找到谷歌的人有类似的错误,这意味着我可能做的事情的方式错了:

我正在遵循基本的Heroku设置指南,以便将我的NodeJS应用程序部署到Web上.我已经部署并试图检查我dynos:

heroku ps:scale web=1

但是,当我这样做时,我收到错误:

Scaling web dynos... failed
 !    No such process type web defined in Procfile.
Run Code Online (Sandbox Code Playgroud)

当我跑步时,heroku ps我得不到任何回报.

在我的应用程序的根目录中,我有一个名为Procfile(没有扩展名)的文件,其中包含:

web: node app.js
Run Code Online (Sandbox Code Playgroud)

该应用程序在本地运行,没有任何问题(使用foreman start).

问题是为什么会发生这种情况,我该如何解决它,我是否应该关心?

jr0*_*ket 8

在Heroku上运行的进程在一个名为:Procfile的简单文本文件中定义

概要文件包含一行,用于定义应用程序中每个进程的运行方式.这将是特定于语言的,并且可以在Heroku Devcenter Procfile文章中看到示例

请注意,Procfile必须完全拼写,第一个字母大写为其他所有小写字母.Procfile没有文件扩展名.在执行git push heroku master之前,应将此Procfile放在项目的根目录中并提交到本地git存储库.

如果在将文件名添加到git后错误输入文件名,可以使用命令将git重命名

git mv ProcFile Procfile
Run Code Online (Sandbox Code Playgroud)

重命名的文件将被暂存,因此您可以使用该命令提交已更改的文件

git commit -m "corrected name of Procfile"
Run Code Online (Sandbox Code Playgroud)

  • 那应该是什么? (4认同)

Nit*_*ked 1

我猜你从未做过git push heroku master——也就是说,Heroku 从未见过你的代码。

  • 如果你运行“heroku run bash”,你能在应用程序的目录中看到“Procfile”吗? (2认同)