Heroku / Nodejs无法启动,错误代码为= H10 desc =“ App

时间:2019-02-10 22:53:09

标签: node.js mongodb heroku

我知道这个问题已经被问过几次了,但是我还没有找到一个可行的解决方案。我正在尝试将节点服务器部署在Heroku上并构建成功,但是日志会显示以下消息。我也在用猫鼬,在本地部署也没有问题。

2019-02-10T22:30:09.912634+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=chatifydotcom.herokuapp.com request_id=b486e511-ff21-4166-ae1d-07bf5796691e fwd="74.196.2.211" dyno= connect= service= status=503 bytes= protocol=https

2019-02-10T22:30:10.287542 + 00:00 heroku [router]:at =错误代码= H10 desc =“应用程序崩溃”,方法= GET path =“ / favicon.ico” host = chatifydotcom.herokuapp。 com request_id = 18f17ca0-56df-4dfe-a560-d890a699f17f fwd =“ 74.196.2.211” dyno = connect = service = status = 503 bytes = protocol = https

Server.js

 const uri = process.env.MONGODB_URI || "mongodb://localhost:27017/chat"
mongoose
  .connect(uri, { useNewUrlParser: true })
  .then(() => console.log("MongoDB Connected"))
  .catch(err => console.log(err.message))

    const port = process.env.PORT || 9000
server.listen(port, () => {
  console.log(`This server is over ${port}`)
})

3 个答案:

答案 0 :(得分:1)

我也从this question的答案中尝试了解决方案

我的节点版本很好,我的端口设置也可以。他们都没有实际工作。 我的情况只是一个带有express的简单js脚本。

然后我试图把它变成

  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "dev": "nodemon index.js",
    "start": "node index.js"
  }

对此

  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "dev": "nodemon index",
    "start": "node index"
  }

有效。

答案 1 :(得分:0)

我正在处理这个错误。正如其所说,Heroku错误代码H10本质上仅意味着该应用程序已崩溃,但您需要做更多的挖掘工作才能弄清楚实际问题出在哪里。

您可以通过从控制台在Heroku dyno上启动应用程序来做到这一点: 编辑:用于运行控制台的命令可能有所不同,我在Windows上执行过此操作

heroku run bash
npm start

然后,您可以查看应用程序的控制台输出,以及更多特定的错误信息以进行故障排除。然后,您可以在此处修复或提出更具体的问题。

答案 2 :(得分:0)

我遇到了同样的问题,终于摆脱了。 就我而言,我正在执行git push heroku main,而main也不是默认分支。 我必须先进入master分支(默认分支),将代码与其他分支合并,然后合并heroku git:remote -a <repoName>git push heroku master。 希望这会有所帮助!