有人在之前在heroku上启动节点应用程序时遇到此错误吗?
2012-10-17T20:28:52+00:00 heroku[web.1]: Starting process with command `node app.js`
2012-10-17T20:28:53+00:00 app[web.1]: bash: node: command not found
似乎Heroku应用程序缺少节点。
该应用程序在本地启动很好。工头开始和节点app.js。
{
"name": "app-name",
"description": "some desc",
"version": "0.0.1",
"private": true,
"engines": {
"node": "0.8.12",
"npm": "1.1.49"
},
"dependencies": {
"express" : "2.5.9",
"mongoose" : ">=2.6.0",
"colibri" : "*",
"jade": ">= 0.0.1"
}
}
答案 0 :(得分:3)
首先,确保您的应用程序正在使用heroku / nodejs buildpack:
$ heroku buildpacks
如果不是这种情况,请使用以下命令将builpack更改为nodejs:
$ heroku buildpacks:设置heroku / nodejs
答案 1 :(得分:2)
Heroku通过package.json的存在将应用程序识别为Node.js。即使你的应用程序没有依赖关系,你仍然应该创建一个package.json来声明一个名称,版本和空依赖关系,以便它显示为一个Node应用程序。
答案 2 :(得分:2)
tl; dr:遇到同样的问题,heroku restart
为我工作。
长版:就是这样:
在heroku logs
我看到了:
heroku[slugc]: Slug compilation finished
heroku[web.1]: Starting process with command `node app.js`
app[web.1]: bash: node: command not found
heroku[web.1]: Process exited with status 127
heroku[router]: at=error code=H20 desc="App boot timeout" method=GET path=/ host=node-network.herokuapp.com fwd=70.28.80.4 dyno= queue= wait= connect= service= status=503 bytes=
heroku[web.1]: State changed from starting to down
所以我跑了heroku restart
,得到了:
heroku[web.1]: State changed from down to starting
heroku[web.1]: Starting process with command `node app.js`
app[web.1]: Listening on port 30693
heroku[web.1]: State changed from starting to up
答案 3 :(得分:2)
为我修复的是在heroku设置中添加heroku / nodejs buildpack。
答案 4 :(得分:0)
旧问题,但是,请尝试在engines
添加package.json
部分:
"engines": {
"node": ">= 6.9.4",
"npm": ">= 4.4.0"
}
答案 5 :(得分:0)
我正在修复的是删除package.json.lock。我有我的yarn.lock和package.json.lock。
显然,heroku不喜欢这样。