我有一个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
为我工作。
答案 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识别。解决方案在这里解释:
答案 4 :(得分:1)
注意可能在Heroku的服务器上崩溃的本地特定事物。
已经给出了一个例子: Procfile 区分大小写。
我遇到的另一个问题是对回购以外的文件存在符号链接。修复后“找不到记录”问题消失了。
答案 5 :(得分:0)
您首先需要使用foreman gem启动您的应用程序:
$ gem install foreman
$ foreman start
然后您可以扩展节点应用程序:
heroku ps:scale web=1