프로그래머스 데브코스
Node.js 기본 생태계
이규현2026-01-19

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파일을 사용