Heroku - bash: node: команда не найдена. Код ошибки процесса 127 - PullRequest
0 голосов
/ 13 мая 2019

Я борюсь с проблемой, заключающейся в том, что я не могу развернуть приложение своего узла на Heroku.Ранее я делал это несколько раз, и все работало как шарм.Теперь я сталкиваюсь с bash: node: command not found.Я понятия не имею, что делать, чтобы избавиться от этой проблемы.

Мой Procfile:

web: node ./src/index.js

Мой package.json:

{
  "name": "scheduler_be",
  "version": "1.0.0",
  "description": "",
  "main": "./src/index.js",
  "scripts": {
    "test": "jest --forceExit",
    "start": "nodemon ./src/index.js --development"

  },
  "repository": {
    "type": "git",
    "url": "git+https://github.com/jablonskipj/scheduler-be.git"
  },
  "author": "Patryk Jablonski",
  "license": "ISC",
  "bugs": {
    "url": "https://github.com/jablonskipj/scheduler-be/issues"
  },
  "homepage": "https://github.com/jablonskipj/scheduler-be#readme",
  "dependencies": {
    "body-parser": "^1.19.0",
    "express": "^4.16.4",
    "jest": "^24.1.0",
    "knex": "^0.16.5",
    "node": "^12.2.0",
    "node-cron": "^2.0.3",
    "nodemon": "^1.18.9",
    "npm": "^6.9.0",
    "pg": "^7.8.0",
    "pg-hstore": "^2.3.2",
    "smsapi": "^1.5.7"
  },
  "engines": {
    "node": "12.2.0"
  }
}

и мойindex.js:

const express = require('express')
const reminderRoutes = require('./routes/Routes')
const bodyParser = require('body-parser')

const PORT = process.env.PORT || 8006

console.log(PORT)

const app = express()

app.use(bodyParser.json())
app.use('/reminder', reminderRoutes)


app.listen(PORT, () => {
  console.log(`app listening on port ${PORT}`)
})

Я пытался выйти из системы с помощью heroku logs -t, но это не дает мне ничего, кроме кода ошибки процесса 127.

Может ли кто-нибудь мне помочь?с этой проблемой?

Я пробовал вещи, предложенные в heroku node.js, команда bash: node: not found , но ничего не помогло.Этот вопрос был задан 7 лет назад и никогда не отвечал, поэтому я почти уверен, что моя проблема здесь другая.

Есть ли кто-нибудь из команды Heroku, который мог бы помочь мне с этой проблемой?Недавно я попытался принудительно использовать npm в версии 6.5.0, и это не имеет никакого эффекта.Я прочитал все https://devcenter.heroku.com/articles/troubleshooting-node-deploys и применил все предложения.Как я могу заставить Heroku дать мне больше информации о том, в чем именно проблема?

РЕДАКТИРОВАТЬ:

Я также пытался без Procfile и приложение по-прежнему не работает.Теперь я получаю bash: npm: command not found, поэтому я очень расстроен, из-за этого у меня на Heroku развернуто еще одно приложение Nodejs, и оно развертывается без проблем.

РЕДАКТИРОВАТЬ:

Я проверилнесколько раз и набор сборки heroku/nodejs.Есть ли что-нибудь еще, что я могу сделать, чтобы как-то развернуть это приложение на heroku?

Кроме того, вот экран журналов, который я вижу в консоли Heroku

enter image description here

Файл журнала - текстовая версия:

2019-05-21T06:59:52.401049+00:00 heroku[web.1]: Starting process with command `node index.js`
2019-05-21T06:59:53.969667+00:00 heroku[web.1]: State changed from starting to crashed
2019-05-21T06:59:53.952550+00:00 heroku[web.1]: Process exited with status 127
2019-05-21T06:59:53.901105+00:00 app[web.1]: bash: node: command not found
2019-05-21T08:01:13.046896+00:00 app[api]: Starting process with command `node src/schedule.js` by user scheduler@addons.heroku.com
2019-05-21T08:01:18.939306+00:00 heroku[scheduler.8582]: Starting process with command `node src/schedule.js`
2019-05-21T08:01:19.672108+00:00 heroku[scheduler.8582]: State changed from starting to up
2019-05-21T08:01:20.475107+00:00 heroku[scheduler.8582]: State changed from up to complete
2019-05-21T08:01:20.454340+00:00 heroku[scheduler.8582]: Process exited with status 127
2019-05-21T08:01:20.379550+00:00 app[scheduler.8582]: bash: node: command not found
2019-05-21T08:21:17.000000+00:00 app[api]: Build started by user manilandiasalon@gmail.com
2019-05-21T08:22:22.166110+00:00 heroku[web.1]: State changed from crashed to starting
2019-05-21T08:22:27.607552+00:00 heroku[web.1]: Starting process with command `node index.js`
2019-05-21T08:22:29.106294+00:00 heroku[web.1]: State changed from starting to crashed
2019-05-21T08:22:29.182031+00:00 heroku[web.1]: State changed from crashed to starting
2019-05-21T08:22:29.086883+00:00 heroku[web.1]: Process exited with status 127
2019-05-21T08:22:28.981729+00:00 app[web.1]: bash: node: command not found
2019-05-21T08:22:20.927103+00:00 app[api]: Deploy d783e9a4 by user manilandiasalon@gmail.com
2019-05-21T08:22:20.927103+00:00 app[api]: Release v30 created by user manilandiasalon@gmail.com
2019-05-21T08:22:36.960377+00:00 heroku[web.1]: Starting process with command `node index.js`
2019-05-21T08:22:39.080765+00:00 heroku[web.1]: State changed from starting to crashed
2019-05-21T08:22:39.061234+00:00 heroku[web.1]: Process exited with status 127
2019-05-21T08:22:38.981195+00:00 app[web.1]: bash: node: command not found
2019-05-21T08:22:27.000000+00:00 app[api]: Build succeeded

После получения заявки на странице поддержки Heroku я получил информацию о том, что мое приложение работает как приложение в контейнере.В этом случае я ничего не могу с этим поделать, и мне нужно подождать, пока служба поддержки исправит мою проблему

Ответы [ 2 ]

1 голос
/ 21 мая 2019

Я не могу быть уверен в том, что проблема может заключаться в том, что вы конкретно сталкиваетесь, но, возможно, я могу дать вам несколько советов.

Также я надеюсь, что вы уже ознакомились с общими решениями, такими как проверка, установлен ли официальный пакет сборки, или установка механизма узла, указанного в package.json и т. Д.

Если все это не работает, вы можете попробовать heroku restart.

0 голосов
/ 27 мая 2019

Я не знаком с heroku, но могу сказать, что всякий раз, когда у вас возникает ошибка "bash: BLANK not found", это обычно означает, что вы используете команду откуда-то, кто не знает о ней.

Таким образом, в этом случае узел не устанавливается в месте, о котором знает текущий рабочий каталог.Возможно, вы указываете герою неправильное местоположение для поиска узла или чего-то еще, или узел просто не установлен должным образом.Проверьте, где установлен узел, и если вам нужно сообщить heroku, где он установлен, убедитесь, что пути поиска верны?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...