Open ruddy22 opened 4 years ago
URL_DB=postgres:// jpdbtcdz:MPqX_DqQhkLWYA0q0HJ9AuTgZbWJuaWF@hattie.db.elephantsql.com:5432/jpdbtcdz Попробуйте запустить с этой строчкой в. env
вт, 24 нояб. 2020 г., 16:56 Aleksey Petrov notifications@github.com:
Приветствую, @GarikProg https://github.com/GarikProg !
Не стартует приложение! Что я делаю не так?
Выкачал репозиторий с кодом приложения. Следовал инструкциям, описанным в README-файле:
- создал .env с настройкой URL_DB
- запустил необходимые команды
При запуске команды получаю ошибку:
λ npm start
link-shortener@1.0.0 start C:\Users\Petrov_alexe\work\js\Link-shortener cd server && npm i && npm start
npm WARN server@1.0.0 No description
npm WARN server@1.0.0 No repository field.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.13 (node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.13: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@2.2.1 (node_modules\jest-haste-map\node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.2.1: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})
audited 1028 packages in 5.372s
49 packages are looking for funding
run
npm fund
for detailsfound 1 low severity vulnerability
run
npm audit fix
to fix them, ornpm audit
for detailsserver@1.0.0 start C:\Users\Petrov_alexe\work\js\Link-shortener\server node server.js
You listen port 3001
internal/crypto/keys.js:302
throw new ERR_INVALID_ARG_TYPE( ^
TypeError [ERR_INVALID_ARG_TYPE]: The "key" argument must be one of type Buffer, TypedArray, DataView, string, or KeyObject. Received type object
at prepareSecretKey (internal/crypto/keys.js:302:13) at new Hmac (internal/crypto/hash.js:101:9) at Object.createHmac (crypto.js:139:10) at createHMAC (C:\Users\Petrov_alexe\work\js\Link-shortener\server\node_modules\pg\lib\sasl.js:133:17) at Hi (C:\Users\Petrov_alexe\work\js\Link-shortener\server\node_modules\pg\lib\sasl.js:137:13) at Object.continueSession (C:\Users\Petrov_alexe\work\js\Link-shortener\server\node_modules\pg\lib\sasl.js:32:24) at Client._handleAuthSASLContinue (C:\Users\Petrov_alexe\work\js\Link-shortener\server\node_modules\pg\lib\client.js:257:10) at Connection.emit (events.js:223:5) at C:\Users\Petrov_alexe\work\js\Link-shortener\server\node_modules\pg\lib\connection.js:115:12 at Parser.parse (C:\Users\Petrov_alexe\work\js\Link-shortener\server\node_modules\pg-protocol\dist\parser.js:40:17) {
code: 'ERR_INVALID_ARG_TYPE'
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! server@1.0.0 start:
node server.js
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the server@1.0.0 start 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:\Users\Petrov_alexe\AppData\Roaming\npm-cache_logs\2020-11-24T13_53_35_198Z-debug.log
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! link-shortener@1.0.0 start:
cd server && npm i && npm start
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the link-shortener@1.0.0 start 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:\Users\Petrov_alexe\AppData\Roaming\npm-cache_logs\2020-11-24T13_53_35_287Z-debug.log
Контент .env:
URL_DB=postgresql://localhost:5432
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/GarikProg/Link-shortener/issues/1, or unsubscribe https://github.com/notifications/unsubscribe-auth/APY2C5MBXJS6QBWAUDHM5RLSRO3PLANCNFSM4UA5MR5Q .
В общем, да. Это рабочий варинат решения проблемы, но я хочу обратить внимание на некоторые моменты:
try {...} catch (e) {...}
, чтобы отловить ошибку подключения к базе. Таким образом текст (например, "Не могу подключиться к БД.") ошибки, будет указывать пользователю, что он сделал что-то не так. А если добавить причину ошибки, то будет очень хорошо. Например, "Не могу подключиться к БД. Не определён адрес БД", "Не могу подключиться к БД. Но к серверу подключился, проверьте login/pass."В остальном ОК. Игорь, исправьте этот момент пожалуйста и закройте issue.
UPD.
Ожидаю базовых исправлений - обновление README и try-catch
вокруг подключения к базе.
Добавил ссылку в README, обернул синхронизацию с базой данных в try, catch (функция sync в /server/DB/modelLink.js). Сейчас причина ошибки выводиться в консоль через console.error. Там в принципе указана причина ошибки на английском. Я еще подумаю как можно улучшить вывод причины ошибок.
Приветствую, @GarikProg !
Не стартует приложение! Что я делаю не так?
Выкачал репозиторий с кодом приложения. Следовал инструкциям, описанным в README-файле:
.env
с настройкойURL_DB
При запуске команды получаю ошибку:
Контент
.env
: