Heroku bash: node: команда не найдена
У кого-то есть эта ошибка при запуске приложения node на героку раньше?
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 отсутствует node.
Приложение начинает работать нормально. Оба стартера и node 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"
}
}
Ответы
Ответ 1
Heroku распознает приложение как Node.js из-за существования package.json. Даже если ваше приложение не имеет зависимостей, вы все равно должны создать package.json, который объявляет имя, версию и пустые зависимости, чтобы он отображался как приложение Node.
https://devcenter.heroku.com/articles/nodejs
Ответ 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
Для меня было установлено, что buildkack heroku/nodejs в настройках героя.
Ответ 4
Старый вопрос, но попробуйте добавить раздел engines
к package.json
:
"engines": {
"node": ">= 6.9.4",
"npm": ">= 4.4.0"
}