heroku scale web = 1失败,“找不到记录” - procfile问题?

时间:2011-07-17 06:40:45

标签: node.js heroku

我有一个procfile:
web: node index.js

当我运行“heroku scale web = 1”时,我收到错误Scaling web processes... Record not found。我找不到任何关于此错误的解释或可能导致它的原因,但据我所知,这意味着heroku scale无法在它尝试使用的procfile中找到“web”条目。

我已经部署了我的应用程序,我可以在服务器上运行heroku run node index.js并且看不到任何错误。我可以在本地运行foreman start,它会启动我应用的完整功能实例。

据我所知,heroku scale命令似乎没有看到我的proc文件的内容(我知道部署的版本与我的本地版本相同 - 我查看了{{1} })。

非常感谢任何帮助,我只想解决如何让heroku run nano index.js为我工作。

6 个答案:

答案 0 :(得分:24)

答案是...... heroku使用区分大小写的文件系统并期望“Procfile”,而不是“procfile”。本地我有一个不区分大小写的文件系统,所以我可以运行foreman start就好了。

将文件更改为Procfile并进行另一次推送解决了问题,我可以运行heroku scale web=1而无需进一步解决问题。

答案 1 :(得分:4)

如果您尚未将Procfile推送到Heroku,则无法使用scale命令找到它。

答案 2 :(得分:2)

检查在Procfile中web和node命令之间是否有空格。我不知道这很奇怪。

我遇到了同样的问题,我添加了一个空间并重新提交。有效。         web:node test.js

答案 3 :(得分:2)

我也经历过由小写'procfile'引起的发布,但是简单地重命名文件并没有被git识别。解决方案在这里解释:

https://stackoverflow.com/a/7641259/1203226

答案 4 :(得分:1)

注意可能在Heroku的服务器上崩溃的本地特定事物。

已经给出了一个例子: Procfile 区分大小写。

我遇到的另一个问题是对回购以外的文件存在符号链接。修复后“找不到记录”问题消失了。

答案 5 :(得分:0)

您首先需要使用foreman gem启动您的应用程序:

 $ gem install foreman
 $ foreman start

然后您可以扩展节点应用程序:

heroku ps:scale web=1