我尝试在Heroku上部署我的NodeJs应用程序,遵循Heroku指南中的所有步骤,但我无法使其运行。这是日志:
2016-06-27T18:46:16.424477+00:00 heroku[web.1]: State changed from crashed to starting
2016-06-27T18:46:18.594534+00:00 heroku[web.1]: Starting process with command `npm start`
2016-06-27T18:46:21.204182+00:00 app[web.1]: npm ERR! Linux 3.13.0-85-generic
2016-06-27T18:46:21.205909+00:00 app[web.1]: npm ERR! npm v3.8.6
2016-06-27T18:46:21.204971+00:00 app[web.1]: npm ERR! argv "/app/.heroku/node/bin/node" "/app/.heroku/node/bin/npm" "start"
2016-06-27T18:46:21.209309+00:00 app[web.1]: npm ERR! missing script: start
2016-06-27T18:46:21.221679+00:00 app[web.1]: npm ERR! Please include the following file with any support request:
2016-06-27T18:46:21.209934+00:00 app[web.1]: npm ERR! <https://github.com/npm/npm/issues>
2016-06-27T18:46:21.207755+00:00 app[web.1]:
2016-06-27T18:46:21.221362+00:00 app[web.1]:
2016-06-27T18:46:21.209552+00:00 app[web.1]: npm ERR!
2016-06-27T18:46:21.209740+00:00 app[web.1]: npm ERR! If you need help, you may report this error at:
2016-06-27T18:46:21.221872+00:00 app[web.1]: npm ERR! /app/npm-debug.log
2016-06-27T18:46:21.205374+00:00 app[web.1]: npm ERR! node v5.11.1
2016-06-27T18:46:22.240678+00:00 heroku[web.1]: Process exited with status 1
2016-06-27T18:46:22.255389+00:00 heroku[web.1]: State changed from starting to crashed
有什么想法吗?
[编辑]
package.json:
"engines": {
"node": "5.11.1",
"npm": "3.8.6"
},
"scripts": {
"start": "node app.js"
},
Procfile:
web: npm start
答案 0 :(得分:1)
你需要告诉Heroku如何启动你的应用程序。可以通过在package.json中指定“start”脚本,或者通过提供Procfile来实现。
答案 1 :(得分:1)
{
"name": "your-project-name",
"version": "1.0.0",
"description": "desc",
"main": "app.js",
"scripts": {
"start": "node app.js",
...
}
...
}
高于package.json
是文件没有Procfile 。然而,如果你想拥有一个,你可以按如下方式定义:
web: node app.js