heroku - Heroku procfile“Procfile中未定义此类进程类型的网络”错误

标签 heroku foreman heroku-toolbelt

这是我第一次使用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/

相关文章:

node.js - Node/Express 应用程序——如何根据本地主机与远程服务器更改连接字符串 (node-postgres)

python - 使用 Redis 添加重复任务

ruby-on-rails - NameError - 运行开发服务器时未初始化常量

ruby-on-rails - 在 Procfile 中指定默认端口

heroku - 更改heroku应用程序的名称

ubuntu - heroku ECONNREFUSED : connect ECONNREFUSED for all run command

node.js - 从 Heroku 访问 Redis Cloud 中的数据

ruby - 如何编写一个更改目录并尊重 rbenv 的 procfile?

linux - 无法在 Linux Mint 上安装 heroku toolbelt 路径无效

ruby-on-rails - 是否可以使用 Ruby 1.9.3 在 Heroku 上运行我的 Rails 应用程序?如果是这样,如何?