Node.js Expres.js Heroku Toolbelt> Foreman Start - 错误:编写EINVAL

cho*_*Bao 5 heroku node.js express foreman

这是我在使用Heroku Toolbelt for Node.js运行foreman start时遇到的package.json错误

 "dependencies": 
{
    "express": "~4.4.0",
    "jade": "~1.3.1"
}
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

Mik*_*Dev 7

我和Jek有同样的问题.我使用快递4.4.4.我降级快递3.2.6并且它有效,但我不应该被迫使用较旧版本的快递,因为工头不支持它.

我试过节点工头.它对我有用.我按照包含这些步骤的说明进行操作:

  1. npm install -g foreman
  2. 从一开始

我想知道是否有人有其他建议.


cho*_*Bao 2

我通过将 Express 版本更改为 3.2.6 成功解决了这个问题,如下所示

 "dependencies": 
{
    "express": "~3.2.6",
    "jade": "~1.3.1"
}
Run Code Online (Sandbox Code Playgroud)

然后我删除了node_modules并进行了npm安装。在此之后,工头的启动工作非常正常。

但是我不知道为什么它在express 4上运行时不起作用,但在express 3上运行时却起作用。

  • 感谢你的回答。这个答案对我有用,但不可接受。我可以在本地使用 Express 4.4.4 成功运行我的节点应用程序,而无需使用 foreman。我还可以在 Heroku Dyno 上使用 Express 4.4.4 运行我的应用程序,没有任何问题。如果我连续多次运行“foreman start”,我会收到不同的错误。工头真是个令人头疼的人。我即将放弃 Heroku 并寻找不同的解决方案。 (2认同)
  • 自从我 7 月 4 日发帖以来,我一直在使用 node-foreman,它一直工作没有问题。 (2认同)