2023-09-17-[Node JS] Error: Cannot find module 'http-errors'

목록으로 돌아가기

배경

현재 작업중인 node와 npm 버젼입니다.

% node --version
v20.6.1

% npm -- version
{
  loc8r: '0.0.0',
  npm: '9.8.1',
  node: '20.6.1',
  acorn: '8.10.0',
  ada: '2.6.0',
  ares: '1.19.1',
  base64: '0.5.0',
  brotli: '1.1.0',
  cjs_module_lexer: '1.2.2',
  cldr: '43.1',
  icu: '73.2',
  llhttp: '8.1.1',
  modules: '115',
  napi: '9',
  nghttp2: '1.56.0',
  openssl: '3.1.2',
  simdutf: '3.2.17',
  tz: '2023c',
  undici: '5.23.0',
  unicode: '15.0',
  uv: '1.46.0',
  uvwasi: '0.0.18',
  v8: '11.3.244.8-node.14',
  zlib: '1.2.11'
}

에러 상황

작업 디렉토리를 일부 변경 및 컨트롤러 파일 변경 후 “npm start” 하였지만 에러가 발생하며 실행에 실패했습니다.
아래는 에러 로그 전문입니다.

% npm start                                                   

> loc8r@0.0.0 start
> node ./bin/www

node:internal/modules/cjs/loader:1051
  throw err;
  ^

Error: Cannot find module 'http-errors'
Require stack:
- /Users/yungchannelforyou/Desktop/src/app.js
- /Users/yungchannelforyou/Desktop/src/bin/www
    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> (/Users/yungchannelforyou/Desktop/src/app.js:1:19)
    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: [
    '/Users/yungchannelforyou/Desktop/src/app.js',
    '/Users/yungchannelforyou/Desktop/src/bin/www'
  ]
}

Node.js v20.6.1

해결

http-errors 패키지가 모듈에 없어서 이다.
아래는 http-errors 설치 명령어 이다

npm install http-errors



🤷‍♂️ http-errors 패키지란?

‘http-errors’는 Node.js 웹 애플리케이션에서 HTTP 오류를 생성하고 관리하기 위한 유용한 패키지 중 하나입니다. 이 패키지를 사용하면 HTTP 요청 처리 중에 오류를 생성하고 해당 오류를 클라이언트에게 적절한 상태 코드와 함께 응답으로 보낼 수 있습니다. 이것은 웹 애플리케이션을 개발하고 디버그하는 데 도움이 되는 도구 중 하나입니다.

주요 기능 및 용도:

결론적으론

‘http-errors’ 패키지를 사용하면 웹 애플리케이션에서 오류 처리를 더욱 효과적으로 수행할 수 있으며 클라이언트에게 명확하고 정보-rich한 오류 메시지를 제공할 수 있습니다. 이것은 사용자 경험을 향상시키고 디버깅을 더 쉽게 만드는 데 도움이 됩니다.

author-profile
Written by 유찬영

댓글