Я продолжаю получать ошибку postgrator-cli при развертывании heroku npm

#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. Теперь я продолжаю получать новую ошибку, и я понятия не имею, что ее вызывает.