외장_하드
외장하드
외장_하드
전체 방문자
오늘
어제
  • 분류 전체보기 (419)
    • 국내 여행 (197)
      • 수도권 (20)
      • 충청도 (17)
      • 강원도 (32)
      • 전라도 (21)
      • 경상도 (50)
      • 제주도 (57)
      • 나들이 (0)
    • 일상 (40)
      • 휴식 (15)
      • 취업 준비 (19)
      • 월간일상 (3)
      • 군생활 (3)
    • 국외 여행 (40)
      • 일주 준비 (4)
      • 중국 (11)
      • 대만 (5)
      • 태국 (20)
    • 취미 (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 정상우.
외장_하드

외장하드

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

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

2023. 7. 23. 17:20
반응형

현상

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 / 코딩

    티스토리툴바