Когда я развертываю свою сборку, сборка всегда успешна и запускается тоже. Однако через пару секунд после запуска происходит сбой без логов о том, почему. Я проверил локально с помощью команды heroku local web
, и она работает безупречно. Я также использовал heroku bash, чтобы проверить node_modules
, чтобы убедиться, что все мои зависимости установлены правильно. Я также пытался запустить через heroku bash, но произошла та же ошибка. Версии Node и npm одинаковы как для локальных, так и для удаленных версий: node: >=10.16.0
и npm: >= 6.9.0
. Я попытался также скопировать мои файлы (исключая package-lock.json
и node_modules
) в новый каталог и использовать npm install
и npm run start
и все еще работает как предполагалось локально. Любые идеи?
Обновление
Я откатился до предыдущего коммита, который работал с помощью команды отката heroku, и сайт запущен и работает. Я создаю промежуточную ветку и откладываю свои изменения, так что теперь я работаю над этим. Дело в том, что я только что sh в журналах было какое-то сообщение об ошибке, которое указывало бы причину его сбоя, потому что это оставило меня в тупике на несколько дней.
еще одно обновление
Я установил Ubuntu для тестирования запуска моего проекта на ОС linux, чтобы увидеть, будет ли это повторять эту проблему, но он все еще работает в обычном режиме.
** Окончательное обновление ** Мне удалось заставить вещи работать, полностью начав с нуля и добавляя одну вещь за раз. Я знаю, что это не полезно, но я хотел бы оставить этот вопрос открытым, потому что я до сих пор не знаю, что вызвало эту проблему. package.json
{
"name": "hayewoodbotapi-v2",
"version": "0.0.0",
"scripts": {
"start": "npm run prod",
"build": "npm-run-all clean transpile",
"server": "node ./dist-server/bin/www",
"prod": "npm-run-all build server",
"transpile": "webpack && babel server --source-maps --out-dir dist-server",
"clean": "rimraf dist-server"
},
"dependencies": {
"@babel/node": "^7.2.2",
"babel-loader": "^8.1.0",
"cookie-parser": "~1.4.4",
"crypto-js": "^4.0.0",
"debug": "~2.6.9",
"ejs": "^3.0.1",
"express": "^4.17.1",
"express-generator": "^4.16.1",
"express-session": "^1.17.0",
"http-errors": "~1.6.3",
"jade": "~1.11.0",
"lance-gg": "^4.0.8",
"morgan": "~1.9.1",
"nodemon": "^2.0.3",
"npm-run-all": "^4.1.5",
"passport": "^0.4.1",
"passport-oauth": "^1.0.0",
"passport-twitch": "^1.0.3",
"pg": "^7.18.2",
"query-string": "^6.12.0",
"regenerator-runtime": "^0.13.5",
"request": "^2.88.2",
"rimraf": "^3.0.2",
"sequelize": "^5.21.5",
"sequelize-cli": "^5.5.1",
"socket.io": "^2.3.0",
"webpack": "^3.8.1"
},
"engines": {
"node": ">=10.16.0",
"npm": ">=6.9.0"
},
"devDependencies": {
"@babel/cli": "^7.2.3",
"@babel/core": "^7.3.4",
"@babel/preset-env": "^7.3.4",
"eslint": "^3.16.1",
"express-swagger-generator": "^1.1.17"
}
}
Вот логи через heroku. Как вы можете видеть, это выполняется, потому что я добавил оператор console.log для вывода порта.
2020-04-30T18:50:49.307843+00:00 app[web.1]: Successfully compiled 23 files with Babel.
2020-04-30T18:50:50.111523+00:00 app[web.1]:
2020-04-30T18:50:50.111537+00:00 app[web.1]: > hayewoodbotapi-v2@0.0.0 server /app 2020-04-30T18:50:50.111537+00:00 app[web.1]: > node ./dist-server/bin/www
2020-04-30T18:50:50.111538+00:00 app[web.1]:
2020-04-30T18:50:52.021984+00:00 app[web.1]: Warning: connect.session() MemoryStore is not
2020-04-30T18:50:52.021997+00:00 app[web.1]: designed for a production environment, as it will leak
2020-04-30T18:50:52.021998+00:00 app[web.1]: memory, and will not scale past a single process. 2020-04-30T18:50:52.028026+00:00 app[web.1]: PORT: 49175 2020-04-30T18:50:52.063057+00:00 app[web.1]: (node:138) [SEQUELIZE0004]
DeprecationWarning: A boolean value was passed to options.operatorsAliases.
This is a no-op with v5 and should be removed.
2020-04-30T18:50:52.063059+00:00 app[web.1]: (Use node --trace-deprecation ... to show where the
warning was created) 2020-04-30T18:50:52.243126+00:00 heroku[web.1]: State changed from starting to crashed