[nodejs] express 프로젝트 실행시 MODULE_NOT_FOUND 에러 해결 방법 / Error: Cannot find module 'package'

2023. 7. 23. 17:20·IT/nodejs
반응형

현상

npm run start 혹은 npm start 등 nodejs 환경 app을 실행할때 아래와 같은 메시지가 나타나는 경우가 있다.

  • Error: Cannot find module '패키지명'
  • code: 'MODULE_NOT_FOUND'

원인

원인은 말그대로다. 앱을 실행하는데 프로젝트 디렉토리에 앱을 구동할 관련 패키지가 없다는 뜻이다. NO! Module! 즉, 패키지 모듈이 없는데!?! 일단 저기서 친절하게도 알려준다. http-errors 패키지가 없다고. 그럼 해당 패키지를 설치해주면 된다. 보통 이런 케이스가 많이 생기는 케이스는 경험적으로 아래 두 케이스다.

  • 프로젝트 디렉토리에 node_modules 경로가 아예 없는 경우
    • express나 react 앱도 기본적으로 기본 의종성들이 있기때문에 node_modules 이 없을 수 없다. 만약 없는 케이스라면 111% 확률로, git 에서 방금 clone 한 프로젝트가 아닐지 의심해보자. 
    • 보통 의존성은 package.json 에만 명시하고 세부적인 의존성 폴더인 node_modules 폴더는 git 저장소에 커밋해두진 않으니까 말이다.
    • 지금 캡쳐한 위 케이스도 그 케이스다. 지금 http-errors 라는 패키지가 없다고하는데, 이 패키지는 express 앱의 기본 의존성이다. 즉, 의존성이 통째로 없는데 그 첫빠따부터 없다고 에러로 뿜은 것이다.
  • node_modules 디렉토리는 있으나, 해당 패키지만 없는 경우
    • 보통 이 케이스는 원래 잘 작동하다가 로컬에서 몇몇 패키지가 추가되었고 git 저장소에까지 커밋이 되었고, 리모트 서버에 해당 소스로 동기화까지 이루어졌으나, 위의 이유처럼 따로 패키지 설치를 하지 않았다면 node_modules 에는 해당 패키지가 없어 이런 오류를 뿜을 수 있다.

해결 방법

패키지 설치

npm install

프로젝트 경로에서 위 명령어 입력하여 package.json 에 명시된 패키지들을 설치해주자. 그리고 다시 실행해보자.

프로젝트 재실행

관련 의존성 패키지가 다 설치 후 실행해보면 정상적으로 실행되는 것을 볼 수 있다.

반응형
저작자표시 비영리 변경금지 (새창열림)

'IT > nodejs' 카테고리의 다른 글

[nodejs/React] Nginx <> React 프론트앤드 리버스 프록시 접속시 Invalid Host 페이지 해결 방법 / DANGEROUSLY_DISABLE_HOST_CHECK=true  (1) 2023.07.29
[React] EC2/라이트세일 서버에서 리액트 npm start 배포/빌드/구동시 서버 멈춤 해결하기 / 메모리 부족 / 스왑 메모리 설정 / Swap Memory  (0) 2023.07.29
[React] 리액트 실행시 FATAL ERROR: Reached heap limit Allocation failed - JavaScript heap out of memory 에러 발생 / 힙메모리 부족  (0) 2023.07.29
[라이트세일/EC2] 우분투 리눅스 서버에 nodejs express / react 배포하기 / 프론트앤드, 백앤드 API 프로젝트/ git 배포방법  (0) 2023.07.23
[Mac 환경설정] 라이트세일/EC2 우분투 리눅스 서버에 nodejs, npm 설치방법  (0) 2023.07.18
'IT/nodejs' 카테고리의 다른 글
  • [React] EC2/라이트세일 서버에서 리액트 npm start 배포/빌드/구동시 서버 멈춤 해결하기 / 메모리 부족 / 스왑 메모리 설정 / Swap Memory
  • [React] 리액트 실행시 FATAL ERROR: Reached heap limit Allocation failed - JavaScript heap out of memory 에러 발생 / 힙메모리 부족
  • [라이트세일/EC2] 우분투 리눅스 서버에 nodejs express / react 배포하기 / 프론트앤드, 백앤드 API 프로젝트/ git 배포방법
  • [Mac 환경설정] 라이트세일/EC2 우분투 리눅스 서버에 nodejs, npm 설치방법
외장_하드
외장_하드
자동차 / 여행 / 취업 / 일상 / IT / 코딩
  • 외장_하드
    외장하드
    외장_하드
  • 전체
    오늘
    어제
    • 분류 전체보기 (436) N
      • 국내 여행 (197)
        • 수도권 (20)
        • 충청도 (17)
        • 강원도 (32)
        • 전라도 (21)
        • 경상도 (50)
        • 제주도 (57)
        • 나들이 (0)
      • 일상 (47) N
        • 휴식 (15)
        • 취업 준비 (19)
        • 월간일상 (3)
        • 군생활 (3)
        • 결혼 준비 (5)
        • 경제 투자 (2) N
      • 국외 여행 (50)
        • 일주 준비 (4)
        • 중국 (11)
        • 대만 (5)
        • 태국 (20)
        • 일본 (10)
      • 취미 (19)
        • 제품 후기 (11)
        • 지식 (8)
      • 자동차 (21)
        • 뉴 그랜저 XG (15)
        • 올 뉴 K3 (5)
      • IT (102)
        • Spring (18)
        • DataBase (11)
        • AWS (22)
        • GIT | github (9)
        • 기타 (23)
        • 머신러닝 | 딥러닝 (8)
        • Tech | Eng (3)
        • Python (2)
        • nodejs (6)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    제주도
    혼자여행
    설치
    스쿠터
    EC2
    뚜벅이
    전라도
    강원도
    부산
    푸켓
    방법
    주차장
    코스
    aws
    추천
    카페
    스프링
    가성비
    후기
    여행
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
외장_하드
[nodejs] express 프로젝트 실행시 MODULE_NOT_FOUND 에러 해결 방법 / Error: Cannot find module 'package'
상단으로

티스토리툴바