인프런 커뮤니티 질문&답변

한현묵님의 프로필 이미지

작성한 질문수

비전공자를 위한 풀스택 맛집지도 만들기 프로젝트!: Front, Back-end 그리고 배포까지

Git, Github 실습

git 내부에서 secret.js 삽입 후 node index.js 에러

23.01.25 20:56 작성

·

684

0

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

 

현상은 다음과 같이 나오고 있습니다.

스크린샷 2023-01-25 오후 8.47.41.png

 

 

secret.js에는 다음과 같이 잘 들어가있습니다.

스크린샷 2023-01-25 오후 8.52.32.png

 

저의 git에도 database라는 js파일이 존재합니다.

스크린샷 2023-01-25 오후 8.54.48.png

왜그럴까요!

 

에러메세지 첨부합니다.

root@ip-172-31-85-206:/home/ubuntu/FoodMap/back# node index.js
internal/modules/cjs/loader.js:818
  throw err;
  ^

Error: Cannot find module '../../back/config/database'
Require stack:
- /home/ubuntu/FoodMap/back/src/controllers/indexController.js
- /home/ubuntu/FoodMap/back/src/routes/indexRoute.js
- /home/ubuntu/FoodMap/back/config/express.js
- /home/ubuntu/FoodMap/back/index.js
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:815:15)
    at Function.Module._load (internal/modules/cjs/loader.js:667:27)
    at Module.require (internal/modules/cjs/loader.js:887:19)
    at require (internal/modules/cjs/helpers.js:74:18)
    at Object.<anonymous> (/home/ubuntu/FoodMap/back/src/controllers/indexController.js:1:18)
    at Module._compile (internal/modules/cjs/loader.js:999:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)
    at Module.load (internal/modules/cjs/loader.js:863:32)
    at Function.Module._load (internal/modules/cjs/loader.js:708:14)
    at Module.require (internal/modules/cjs/loader.js:887:19) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [
    '/home/ubuntu/FoodMap/back/src/controllers/indexController.js',
    '/home/ubuntu/FoodMap/back/src/routes/indexRoute.js',
    '/home/ubuntu/FoodMap/back/config/express.js',
    '/home/ubuntu/FoodMap/back/index.js'
  ]
}

답변 3

0

Jiwoon Jeong님의 프로필 이미지
Jiwoon Jeong
지식공유자

2023. 01. 26. 10:03

안녕하세요.

상대경로 설정이 잘못되어 있어서 발생한 문제 같습니다.

 

const { pool } = require("../../back/config/database");
const { logger } = require("../../back/config/winston");
const jwt = require("jsonwebtoken");
const secret = require("../../back/config/secret");
const indexDao = require("../dao/indexDao");

 

../ 상대경로는 부모 디렉토리를 가리킵니다.

../../ 이렇게 부모디렉토리를 두번 가리키는 것 자체가 back을 의미하고,

따라서 올바르게 수정하자면

const { pool } = require("../../config/database");

위와 같이 경로를 지정해주시면 된답니다.

감사합니다.

한현묵님의 프로필 이미지
한현묵
질문자

2023. 01. 26. 11:35

감사합니다!!

혼자 절대 못찾았을거같네요 ㅜ ㅜ

0

한현묵님의 프로필 이미지
한현묵
질문자

2023. 01. 25. 21:32

스크린샷 2023-01-25 오후 9.31.43.png혹시 npm install 과정에서 이런게 있었는데 여기서 문제가 있을까요?

한현묵님의 프로필 이미지
한현묵
질문자

2023. 01. 25. 21:38

root@ip-172-31-85-206:/home/ubuntu/FoodMap/back# npm audit
# npm audit report

jsonwebtoken  <=8.5.1
Severity: high
jsonwebtoken vulnerable to signature validation bypass due to insecure default algorithm in jwt.verify() - https://github.com/advisories/GHSA-qwph-4952-7xr6
jsonwebtoken has insecure input validation in jwt.verify function - https://github.com/advisories/GHSA-27h2-hvpr-p74q
fix available via `npm audit fix --force`
Will install jsonwebtoken@9.0.0, which is a breaking change
node_modules/jsonwebtoken

1 high severity vulnerability

To address all issues (including breaking changes), run:
  npm audit fix --force
한현묵님의 프로필 이미지
한현묵
질문자

2023. 01. 25. 21:42

npm audit fix --force 해도 안되네용 ㅠ

Jiwoon Jeong님의 프로필 이미지
Jiwoon Jeong
지식공유자

2023. 01. 26. 10:06

이거는 라이브러리 제작자가 업데이트를 안해서 뜨는 경고문인데,

오히려 audit fix하다가 멀쩡한 코드가 꼬이는 경우가 있으니

라이브러리를 사용하는 입장에서는 무시하셔도 괜찮습니다.

0

한현묵님의 프로필 이미지
한현묵
질문자

2023. 01. 25. 21:04