这是我第一次使用Heroku
,而且在Google中找不到与此错误类似的人,这意味着我可能做错了什么:
我正在遵循基本的Heroku setup guide here将NodeJS应用程序部署到Web。我已部署,并尝试使用以下命令检查我的dynos
:heroku ps:scale web=1
但是,当我这样做时,我得到了错误:
Scaling web dynos... failed
! No such process type web defined in Procfile.
当我运行
heroku ps
时,我什么也没得到。在应用程序的根目录中,我有一个名为
Procfile
的文件(无扩展名),其中包含:web: node app.js
该应用程序在本地运行,没有任何问题(使用
foreman start
)。问题是为什么会发生这种情况,我应该如何补救?
最佳答案
在Heroku上运行的进程在一个简单的文本文件中定义:Procfile
该配置文件包含一行,用于定义应用程序中每个进程的运行方式。这将是特定于语言的,并且可以在Heroku Devcenter Procfile article上看到示例
请注意,Procfile必须准确拼写,首字母大写,其他所有字母均小写。 Procfile没有文件扩展名。在执行git push heroku master之前,应将此Procfile放在项目的根目录中并提交到本地git仓库。
在将文件名添加到git后,如果您输错了文件名,则可以使用git通过以下命令对其进行重命名
git mv ProcFile Procfile
重命名的文件将被暂存,因此您可以使用以下命令来提交更改的文件
git commit -m "corrected name of Procfile"
关于heroku - Heroku procfile“Procfile中未定义此类进程类型的网络”错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17847631/