프로그래머스 데브코스

Node.js 기본 생태계

이규현2026-01-19
Node.js 기본 생태계

Node.js 패키지 매니저

Node.js 생태계에서 프로젝트 의존성을 관리하는 대표적인 도구 3가지를 정리

1. NPM (Node Package Manager)

Node.js 설치 시 기본적으로 제공되는 가장 대중적인 패키지 매니저

  • 특징: 별도 설치가 필요 없으며, 가장 거대한 커뮤니티와 생태계를 보유하고 있음
  • 장점: 표준 도구이므로 호환성이 가장 높고 관련 자료가 방대함
  • 파일: package-lock.json을 통해 설치 시점의 의존성 버전을 고정함

2. Yarn

NPM의 느린 속도와 보안 문제를 해결하기 위해 Facebook에서 개발한 도구

  • 특징: 패키지를 병렬로 설치하여 NPM보다 빠른 속도를 보여주었으며, 'Zero Install'(Yarn Berry) 같은 혁신적인 기능을 제공
  • 장점: 설치 과정이 안정적이며, 체크섬을 통해 패키지의 무결성을 엄격하게 확인
  • 파일: yarn.lock 파일을 사용

3. PNPM (Performant NPM)

효율성과 성능에 초점을 맞춘 차세대 패키지 매니저입니다.

  • 특징: 'Content-addressable storage' 방식을 사용하여, 여러 프로젝트에서 같은 라이브러리를 사용하더라도 디스크에는 단 한 번만 저장함
  • 장점: node_modules의 용량을 획기적으로 줄여주며 설치 속도가 매우 빠름 또한, 선언되지 않은 의존성에 접근하는 '유령 의존성(Phantom Dependencies)' 문제를 구조적으로 차단함
  • 파일: pnpm-lock.yaml 파일을 사용