首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Heroku Procfile“没有在procfile中定义这样的进程类型web”错误

Heroku Procfile“没有在procfile中定义这样的进程类型web”错误
EN

Stack Overflow用户
提问于 2013-07-25 09:42:30
回答 4查看 13.6K关注 0票数 19

这是我第一次使用Heroku,事实上我在谷歌中找不到任何人有类似的错误,这意味着我可能做了一些way错误的事情:

我遵循基本的Heroku setup guide here将我的NodeJS应用程序部署到web上。我正在部署并尝试使用以下命令检查我的dynos

heroku ps:scale web=1

然而,当我这样做时,我得到了错误:

代码语言:javascript
复制
Scaling web dynos... failed
 !    No such process type web defined in Procfile.

当我运行heroku ps时,我没有得到任何返回。

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

代码语言:javascript
复制
web: node app.js

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

问题是为什么会发生这种情况,我如何补救它,我应该关心吗?

EN

回答 4

Stack Overflow用户

发布于 2013-08-07 22:01:22

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

概要文件包含一行定义应用程序中的每个进程将如何运行的行。这将是特定于语言的,示例可以在Heroku Devcenter Procfile article上看到

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

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

代码语言:javascript
复制
git mv ProcFile Procfile

重命名的文件将被暂存,以便您可以使用以下命令提交更改后的文件

代码语言:javascript
复制
git commit -m "corrected name of Procfile"
票数 8
EN

Stack Overflow用户

发布于 2013-07-25 19:38:38

我自己找到了解决方案,从这里:https://stackoverflow.com/a/7641259/556006

我也有同样的问题,我刚刚发现了问题所在。我第一次不小心把这个文件命名为Procfile而不是ProcFile。只是简单地重命名该文件并没有被git所接受。我必须先做一个git rm Procfile -f,然后添加一个新的(正确命名的) then文件。在那之后,它被git正确地推送,并被Heroku正确地接收。

票数 2
EN

Stack Overflow用户

发布于 2014-02-15 04:07:24

我自己也有这个问题,但在我的例子中,我在配置文件中的web:和启动命令之间缺少了一个空格。

例如,我是这样弄错的:

web:gunicorn run:app

通过在冒号后面添加一个空格修复此问题:

web: gunicorn run:app

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17847631

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档