• 카테고리

    질문 & 답변
  • 세부 분야

    풀스택

  • 해결 여부

    미해결

모듈 경로 관련 오류 index.js 모듈을 찾을 수 없다고 해서 수정을 했는데 이번엔 User를 못찾네요..

24.03.14 17:58 작성 24.03.14 17:59 수정 조회수 98

0

어제까진 잘 실행이 되었는데 갑자기 이러니까 당황스러워요..
먼저

Error: Cannot find module 'C:\Users\User\Documents\boiler-plate\index.js'      at Module._resolveFilename (node:internal/modules/cjs/loader:1048:15)      at Module._load (node:internal/modules/cjs/loader:901:27)      at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:83:12)      at node:internal/main/run_main_module:23:47 {    code: 'MODULE_NOT_FOUND',    requireStack: []  }  Node.js v20.9.0  [nodemon] app crashed - waiting for file changes before starting...

이런 에러가 떠서 package.json의 backend 쪽을

"backend": "nodemon server/index.js"

이렇게 수정했더니 이번엔

Error: Cannot find module '../server/models/User'
Require stack:
- C:\Users\User\Documents\boiler-plate\server\middleware\auth.js
- C:\Users\User\Documents\boiler-plate\server\index.js
    at Module._resolveFilename (node:internal/modules/cjs/loader:1048:15)
    at Module._load (node:internal/modules/cjs/loader:901:27)
    at Module.require (node:internal/modules/cjs/loader:1115:19)
    at require (node:internal/modules/helpers:130:18)
    at Object.<anonymous> (C:\Users\User\Documents\boiler-plate\server\middleware\auth.js:1:18)
    at Module._compile (node:internal/modules/cjs/loader:1241:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1295:10)
    at Module.load (node:internal/modules/cjs/loader:1091:32)
    at Module._load (node:internal/modules/cjs/loader:938:12)
    at Module.require (node:internal/modules/cjs/loader:1115:19) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [
    'C:\\Users\\User\\Documents\\boiler-plate\\server\\middleware\\auth.js',
    'C:\\Users\\User\\Documents\\boiler-plate\\server\\index.js'
  ]
}

이런 오류가 뜨네요.. 계속 찾아보는데 경로도 다 맞는 것 같은데 어디서 문제가 발생하고 어떻게 해결해야 하는 지를 모르겠어요..우선 혹시 몰라 package.json 전체 첨부 해놓겠습니다!
그리고 강의는 21강 까지 들었습니다!

{
  "name": "boiler-plate",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "start": "node index.js",
    "backend": "nodemon server/index.js",
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "in-sik",
  "license": "ISC",
  "dependencies": {
    "bcrypt": "^5.1.1",
    "body-parser": "^1.20.2",
    "cookie-parser": "^1.4.6",
    "express": "^4.18.3",
    "index.js": "^0.0.3",
    "jsonwebtoken": "^9.0.2",
    "mongoose": "^8.2.1"
  },
  "devDependencies": {
    "nodemon": "^3.1.0"
  }
}

답변 1

답변을 작성해보세요.

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2024.03.14

안녕하세요, 인프런 AI 인턴입니다. 정인식 님의 질문에 대한 답변입니다.

주어진 정보를 바탕으로 비슷한 문제를 해결한 기존 답변을 찾아보았습니다. 모듈을 찾지 못하는 오류는 대체로 모듈의 경로가 잘못 지정되었거나 누락된 경우에 발생합니다. package.json 파일에서 start 스크립트가 node index.js로 지정되어 있는데 index.js 파일이 프로젝트의 루트 디렉터리가 아닌 server 폴더 내부에 있을 때 나타나는 문제인 것 같습니다. 경로별로 모듈을 찾을 수 없다는 에러 메시지가 나오는데, 이는 파일의 위치가 변경되었거나 파일이 누락됐을 때 발생할 수 있습니다.

비슷한 문제 해결 방법을 제시하는 기존 답변 링크를 첨부하오니 참고하시길 바랍니다:

  • “backend 쪽의 nodemon scripts” 에 대한 John Ahn 강사님의 답변에서 "backend": "nodemon index.js" 구문을 "backend": "nodemon server/index.js"로 변경하는 해결책을 제안하셨습니다.
  • “질문있습니당~” 질문에서도 유사한 경로 문제를 다루었으며, 경로를 적절하게 수정하여 해결했습니다.

현재 문제는 User 모델을 찾을 수 없어서 발생하는 에러로 보입니다. auth.js에서 ../server/models/Userrequire 하도록 되어있는데, 경로가 잘못 지정되어 있을 가능성이 높습니다. auth.js가 이미 server 폴더 내부에 있는 경우, 상대 경로를 require('./models/User')로 변경하여 시도해 볼 수 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.