这是我第一次使用Heroku,事实上我在Google中找不到有类似错误的人,这意味着我可能会做错事:
我正在遵循基本的Heroku setup guide here,将我的NodeJS应用程序部署到网络上。我被部署并试图用以下方式检查我的动作:
英雄ps:规模web = 1
但是,当我这样做我得到错误:
Scaling web dynos... Failed ! No such process type web defined in Procfile.
当我运行英雄ps,我什么都没有返回。
在我的应用程序的根目录中,我有一个名为Procfile(没有扩展名)的文件,其中包含:
web: node app.js
应用程序在本地运行没有任何问题(使用工头开始)。
问题是为什么会发生这种情况,我该如何补救?
解决方法
要在Heroku上运行的进程在一个简单的文本文件中被定义为:Procfile
配置文件包含一行,用于定义应用程序中每个进程的运行方式。这将是具体的语言,例子可以在Heroku Devcenter Procfile article上看到
请注意,Procfile必须完全拼写,第一个字母大写为大写小写。 Procfile没有文件扩展名。这个Procfile应该放在您的项目的根目录中,并在执行git push heroku master之前,将其放在您的本地git仓库中。
如果您在将文件名添加到git之后输入文件名,可以使用git命令重命名它
git mv ProcFile Procfile
git commit -m "corrected name of Procfile"