【发布时间】:2019-03-30 05:48:44
【问题描述】:
我正在尝试在他们的网络上新创建的 Heroku 应用程序上运行 Node 应用程序。我按照他们的步骤操作,但在显示应用状态时仍然出现错误。
由于我已经从网络上创建了,所以我在没有 heroku create 命令的情况下遵循了 Node.js getting started 部分。
所以当我运行时:heroku ps:scale web=1 它显示了我:
缩放测功机...完成,现在以 1:Free 运行网络
但是当运行heroku ps:
=== 网络(免费):npm run start (1)
web.1:在 2018/10/25 11:25:49 -0300(约 8m 前)崩溃
所以我在heroku logs --tail 上的日志显示了这个错误:
2018-10-25T14:25:44.000000+00:00 app[api]:构建成功
2018-10-25T14:25:46.451739+00:00 heroku[web.1]:使用命令
npm run start启动进程2018-10-25T14:25:49.113832+00:00 应用[web.1]:
2018-10-25T14:25:49.113864+00:00 app[web.1]: > my-app@1.0.0 start /app
2018-10-25T14:25:49.113866+00:00 app[web.1]: > node server.js
2018-10-25T14:25:49.113867+00:00 应用[web.1]:
2018-10-25T14:25:49.418151+00:00 app[web.1]: events.js:167
2018-10-25T14:25:49.418191+00:00 app[web.1]: throw er; // 未处理的“错误”事件
2018-10-25T14:25:49.418193+00:00 应用[web.1]:^
2018-10-25T14:25:49.418194+00:00 应用[web.1]:
2018-10-25T14:25:49.418196+00:00 app[web.1]:错误:监听 EACCES 0.0.0.0:80
所以我检查了我在设置时是否犯了错误。
我用这个代码使用一个简单的 Express 路由和服务器:
app.get('/', (req, res) => { ... });
app.listen(80, err => {
if(err) throw err;
console.log("%c Server running", "color: green");
});
我还确保将engines 添加到package.json:
"scripts": {
"start": "node server.js"
},
"engines": {
"node": "10.11.0",
"npm": "6.4.1"
},
我还在根路径中创建了一个 Procfile 文件,其中包含web: npm run start。
因此,当所有内容都检查完毕后,我只需运行这些命令,一切看起来都很好,直到我检查日志或访问应用程序:
git commit -am "my commit text"
git push heroku master
我在日志中看到了这一点:
远程:----->正在压缩...
远程:完成:18.3M
远程:-----> 正在启动...
远程:已发布 v12
远程:https://my-app.herokuapp.com/ 部署到 Heroku
远程:
远程:验证部署...完成。
致https://git.heroku.com/my-app.git
3656da0..f1eb078 主 -> 主
所以...关于我做错了什么有什么建议吗?提前致谢。
【问题讨论】:
标签: javascript node.js git express heroku