这是我第一次使用Heroku
,事实上我在谷歌中找不到任何人有类似的错误,这意味着我可能做了一些way错误的事情:
我遵循基本的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
)。
问题是为什么会发生这种情况,我如何补救它,我应该关心吗?
发布于 2013-08-07 22:01:22
在Heroku上运行的进程定义在一个名为Procfile的简单文本文件中
概要文件包含一行定义应用程序中的每个进程将如何运行的行。这将是特定于语言的,示例可以在Heroku Devcenter Procfile article上看到
请注意,Procfile必须拼写准确,第一个字母大写,其他字母全部小写。Procfile没有文件扩展名。在执行git推送heroku master之前,应该将此Procfile放在项目的根目录中,并提交到本地git存储库。
如果在将文件名添加到git后键入错误,可以使用git和以下命令重命名它
git mv ProcFile Procfile
重命名的文件将被暂存,以便您可以使用以下命令提交更改后的文件
git commit -m "corrected name of Procfile"
发布于 2013-07-25 19:38:38
我自己找到了解决方案,从这里:https://stackoverflow.com/a/7641259/556006
我也有同样的问题,我刚刚发现了问题所在。我第一次不小心把这个文件命名为Procfile而不是ProcFile。只是简单地重命名该文件并没有被git所接受。我必须先做一个git rm Procfile -f,然后添加一个新的(正确命名的) then文件。在那之后,它被git正确地推送,并被Heroku正确地接收。
发布于 2014-02-15 04:07:24
我自己也有这个问题,但在我的例子中,我在配置文件中的web:
和启动命令之间缺少了一个空格。
例如,我是这样弄错的:
web:gunicorn run:app
通过在冒号后面添加一个空格修复此问题:
web: gunicorn run:app
https://stackoverflow.com/questions/17847631
复制相似问题