• 카테고리

    질문 & 답변
  • 세부 분야

    프론트엔드

  • 해결 여부

    미해결

.env 파일이 활성화?가 되지 않아서 질문 드립니다!

21.09.24 10:07 작성 조회수 602

0

안녕하세요 제로초님!!

.env 파일로 패스워드 설정해서 진행중에 있는데 

백엔드 서버 3085번 포트에서 작동중

(node:15456) UnhandledPromiseRejectionWarning: SequelizeAccessDeniedError: Access denied for user 'root'@'localhost' (using password: YES)

    at ConnectionManager.connect (C:\Users\com\vue강좌\vuesns\ch1\back\node_modules\sequelize\lib\dialects\mysql\connection-manager.js:118:17)

    at processTicksAndRejections (internal/process/task_queues.js:93:5)

    at async ConnectionManager._connect (C:\Users\com\vue강좌\vuesns\ch1\back\node_modules\sequelize\lib\dialects\abstract\connection-manager.js:318:24)

    at async C:\Users\com\vue강좌\vuesns\ch1\back\node_modules\sequelize\lib\dialects\abstract\connection-manager.js:250:32

    at async ConnectionManager.getConnection (C:\Users\com\vue강좌\vuesns\ch1\back\node_modules\sequelize\lib\dialects\abstract\connection-manager.js:280:7)

    at async C:\Users\com\vue강좌\vuesns\ch1\back\node_modules\sequelize\lib\sequelize.js:613:26

    at async MySQLQueryInterface.createTable (C:\Users\com\vue강좌\vuesns\ch1\back\node_modules\sequelize\lib\dialects\abstract\query-interface.js:225:12)

    at async Function.sync (C:\Users\com\vue강좌\vuesns\ch1\back\node_modules\sequelize\lib\model.js:1300:5)

    at async Sequelize.sync (C:\Users\com\vue강좌\vuesns\ch1\back\node_modules\sequelize\lib\sequelize.js:793:35)

(Use `node --trace-warnings ...` to show where the warning was created)

(node:15456) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)

(node:15456) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

이렇게 비밀번호가 잘못됬다는 에러가 떠서 확인해보니

.env 파일이 아래 보시다시피 

빈 파일마냥 .env 파일이 활성화가 되어있지 않습니다 ㅜ 아이콘 모양이 제로초님과 다름니다 ㅜ

구글링 해보니 root 폴더에 있어야 한다 하는데 ch1/back 폴더에 잘 위치해 있는데 왜 활성화가 안되는지 모르겠습니다 ㅜ

 

npm i dotenv 통해서 설치도 하였고

"dotenv""^10.0.0",

config.js에 

const dotenv = require('dotenv')

dotenv.config();

잘 받아왔는데 무슨 문제 인지 모르겠습니다ㅜ!

 

 

답변 1

답변을 작성해보세요.

0

활성화가 됐는지 안 됐는지는 직접 코드로 찍어보세요.

dotenv.config()만 하면 끝이 아닙니다.

눈으로 console.log(process.env.DB_PASSWORD)를 찍어보아야

진짜 dotenv가 돌아가고 있는지 알 수 있습니다.

 

에디터에서 제 아이콘이 다른 이유는 .env 플러그인을 받았기 때문입니다.

문종현님의 프로필

문종현

질문자

2021.09.24

아 그렇군요!!

dotenv.config()아래 console을 찍어보니 터미널에 잘 찍히고 에러가 없어졌습니다 감사합니다!!

그런데 백엔드 서버 배포할때, npm start를 해보니 이상한 에러가 뜹니다 ㅜ

root@ip-172-31-7-245:/home/ubuntu/VUE.SNS/ch1/back# npm start

 

> vue-nodebird-back@1.0.0 start /home/ubuntu/VUE.SNS/ch1/back

> cross-env PORT=80 NODE_ENV=production node app.js

 

undefined

internal/modules/cjs/loader.js:892

  throw err;

  ^

 

Error: Cannot find module 'bcrypt'

Require stack:

- /home/ubuntu/VUE.SNS/ch1/back/passport/local.js

- /home/ubuntu/VUE.SNS/ch1/back/passport/index.js

- /home/ubuntu/VUE.SNS/ch1/back/app.js

    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:889:15)

    at Function.Module._load (internal/modules/cjs/loader.js:745:27)

    at Module.require (internal/modules/cjs/loader.js:961:19)

    at require (internal/modules/cjs/helpers.js:92:18)

    at Object.<anonymous> (/home/ubuntu/VUE.SNS/ch1/back/passport/local.js:2:16)

    at Module._compile (internal/modules/cjs/loader.js:1072:14)

    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1101:10)

    at Module.load (internal/modules/cjs/loader.js:937:32)

    at Function.Module._load (internal/modules/cjs/loader.js:778:12)

    at Module.require (internal/modules/cjs/loader.js:961:19) {

  code: 'MODULE_NOT_FOUND',

  requireStack: [

    '/home/ubuntu/VUE.SNS/ch1/back/passport/local.js',

    '/home/ubuntu/VUE.SNS/ch1/back/passport/index.js',

    '/home/ubuntu/VUE.SNS/ch1/back/app.js'

  ]

}

npm ERR! code ELIFECYCLE

npm ERR! errno 1

npm ERR! vue-nodebird-back@1.0.0 start: `cross-env PORT=80 NODE_ENV=production node app.js`

npm ERR! Exit status 1

npm ERR!

npm ERR! Failed at the vue-nodebird-back@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!     /root/.npm/_logs/2021-09-24T02_41_34_093Z-debug.log

이러한 에러가 뜨는데 찾아보다 제로초님이 리엑트 SNS강좌에 질문답변 달아 놓은게 있어서 

그대로 node modules를 삭제 후 재 설치하여 git pull 받은후 npm start를 진행 했는데도 같은 에러가 반복됩니다 ㅜ

에러에서 말하는 local.js 2:16 부분이

const bcrypt = require('bcrypt')

이부분인데 bcript는 예전강좌에서 설치하고 진행준인데 무엇이 문제인지 모르겠습니다..ㅜ

 

 

 

문종현님의 프로필

문종현

질문자

2021.09.24

아 제로초님 해결했습니다!!

이게 프론트 노드모듈삭제하고 커밋 및 푸쉬해서 그걸 git pull로 받아서 진행하니까 됩니다 

방금전까지는 계속 프론트 노드모듈을 재설치하고 그다음에 푸쉬하고 git pull로 진행을 해서 안된거 같습니다!!

감사합니다!