Heroku Foreman退出,错误代码为5

时间:2015-05-20 09:46:38

标签: node.js heroku express foreman

15:05:09 web.1  | started with pid 4888
15:05:10 web.1  | 
15:05:10 web.1  | > finext_server@0.0.1 test F:\Projects\finext\server
15:05:10 web.1  | > set NODE_ENV=development && node ./bin/www.js
15:05:11 web.1  | 
15:05:12 web.1  | exited with code 5
15:05:12 system | sending SIGKILL to all processes
15:05:12        | app.get('env'): development 

这是我得到的输出,就SIGKILL之后执行的代码而言,它是一个小变量。有时,在再次看到命令提示符之前,会执行更多的coide行。

我尝试使用node-foreman,我的应用程序在那里工作正常。所以我猜这与工头有关。我的代码和procfile可以在这里找到:https://github.com/chintanp/finext

这也是该进程无法在heroku上启动的原因。

另一个世界的某个人也有类似的问题。 Express Hello World -- Heroku Foreman Returns Code 5, 'npm start' works just fine

2 个答案:

答案 0 :(得分:0)

在Procfile中试试这个:

web: node app.js

答案 1 :(得分:0)

我最近遇到了与运行我的应用程序时完全相同的情况:

  • 领班记录了消息"退出代码5"和#34;将SIGKILL发送到所有进程"。

  • 如果我使用npm(" npm start")或node-foreman(" nf start")而不是foreman,我的应用程序工作正常。

该应用程序还使用forego工作,这是一个由工头作者编写的应用程序。

但几周前,heroku添加了新命令" heroku local",它在幕后使用了forego,并正式取代了工头的使用:

  

从今天开始,新的Heroku Toolbelt安装将不会随附   领班。 heroku local命令取代了工头。 Heroku Local   利用Forego来完成任务,而且速度更快   更好的跨平台支持。

请注意,heroku现在还说工头是" not officially supported"。

所以解决问题的方法是:

  • 停止使用领班。

  • 下载并安装最新版本的heroku toolbelt。

  • 替换"领班开始"与" heroku local"。

这种方法适用于Windows 7。