#postgresql #heroku #npm
#postgresql #heroku #npm
Вопрос:
Я пытаюсь развернуть приложение в heroku, но по какой-то причине, когда я запускаю команду deploy, я продолжаю получать эту ошибку:
rator-clipostgrator-cli.js:143
rl.history = rl.history.slice(1);
^
TypeError: Cannot read property 'slice' of undefined
at C:UsersZackrDocumentsnodenoteful-exercisenoteful-servernode_modulespostgrator-clipostgrator-cli.js:143:33
at Interface._onLine (readline.js:327:5)
at Interface._normalWrite (readline.js:474:12)
at Socket.ondata (readline.js:186:10)
at Socket.emit (events.js:315:20)
at addChunk (_stream_readable.js:295:12)
at readableAddChunk (_stream_readable.js:271:9)
at Socket.Readable.push (_stream_readable.js:212:10)
at Pipe.onStreamRead (internal/stream_base_commons.js:186:23)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! noteful-server@1.0.0 migrate: `postgrator --config postgrator-config.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the noteful-server@1.0.0 migrate script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! C:UsersZackrAppDataRoamingnpm-cache_logs2021-01-04T22_04_36_447Z-debug.log
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! noteful-server@1.0.0 migrate:production: `env SSL=true DATABASE_URL=$postgres://rwdhntkhuroptu:48522106b9f5aaf0890905df7abe67c75710e00aba50b80edcf01a07d5cbe918@ec2-52-203-49-58.compute-1.amazonaws.com:5432/dcgq78oje0lmb6 npm run migrate`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the noteful-server@1.0.0 migrate:production script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! C:UsersZackrAppDataRoamingnpm-cache_logs2021-01-04T22_04_36_547Z-debug.log
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! noteful-server@1.0.0 postdeploy: `npm run migrate:production`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the noteful-server@1.0.0 postdeploy script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! C:UsersZackrAppDataRoamingnpm-cache_logs2021-01-04T22_04_36_614Z-debug.log
Сценарии для моего package.json:
"scripts": {
"test": "mocha --require test/setup.js",
"dev": "nodemon src/server.js",
"migrate": "postgrator --config postgrator-config.js",
"migrate:test": "env NODE_ENV=test npm run migrate",
"migrate:production": "env SSL=true DATABASE_URL=$(heroku config:get DATABASE_URL) npm run migrate",
"start": "node src/server.js",
"predeploy": "npm audit amp;amp; npm run migrate:production",
"deploy": "git push heroku main"
},
У меня есть строка подключения и URL-адрес для базы данных, и обычная миграция работала, пока я не изменил URL-адрес на URL-адрес heroku вместо моего локального хост-сервера.
Комментарии:
1. Какие версии Node.js а нпм вы используете?
2. Я использую версию узла 6.14.6
Ответ №1:
Node.js 6 был прекращен в апреле 2018 года. В нем есть известные уязвимости в системе безопасности, и большинство библиотек его не поддерживают. Обновите по крайней мере Node.js 10.x, и предпочтительно 14.x.
Текущая версия postgrator-cli — 4.0.0, и она явно не поддерживает Node.js до 10.x. Последняя версия postgrator-cli для поддержки Node.js 6.x был postgrator-cli 3.2.0, опубликован в сентябре 2019 года. Поэтому, если вы не можете выполнить обновление Node.js , другой вариант — понизить postgrator-cli до версии 3.2.0.
Комментарии:
1. Я использую postgrator-cli 3.2.0, хотя
2. Основываясь на предоставленной вами трассировке стека, я могу с уверенностью сказать, что вы запускали postgrator-cli 4.0.0, чтобы получить эту трассировку стека, а не postragtor-cli 3.2.0. Я устанавливаю 4.0.0 и просматриваю строку 143 из postgrator-cli.js и это соответствует вашей трассировке стека. В версии 3.2.0 этого не происходит. Хорошей новостью является то, что это означает, что если вы сделаете
npm install --save-dev postgrator-cli@3.2.0
и повторите попытку, это может сработать. Я бы все равно рекомендовал вам обновить Node.js однако вместо того, чтобы понижать рейтинг postgrator-cli.3. Подождите, вы можете быть правы, странно. Я был уверен, что набрал «npm install postgrator-cli@3.2.0 «. Позвольте мне попробовать еще раз.
4. Теперь я продолжаю получать новую ошибку, и я понятия не имею, что ее вызывает.