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

한현묵님의 프로필 이미지
한현묵

작성한 질문수

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

Git, Github 실습

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

작성

·

693

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
지식공유자

안녕하세요.

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

 

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");

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

감사합니다.

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

감사합니다!!

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

0

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

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

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

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
한현묵님의 프로필 이미지
한현묵
질문자

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

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

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

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

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

한현묵님의 프로필 이미지
한현묵

작성한 질문수

질문하기