npm vs yarn vs pnpm 패키지 매니저 비교 - 2025년 최신 성능 벤치마크와 선택 가이드
Node.js 프로젝트를 시작할 때 가장 먼저 마주하는 선택이 바로 패키지 매니저예요. npm, yarn, pnpm 중 어떤 걸 써야 할지 고민되시죠? 각각의 특징과 실제 성능을 비교해서 프로젝트에 맞는 최적의 선택을 도와드릴게요.
npm - 가장 기본적이고 안정적인 선택
npm은 Node.js와 함께 자동으로 설치되는 기본 패키지 매니저예요. 별도 설치 없이 바로 사용할 수 있다는 게 가장 큰 장점이죠.
주요 특징:
- Node.js 설치 시 자동 포함, 별도 설정 불필요
- 가장 넓은 생태계와 레퍼런스
- npm 7 이후 workspace 기능 지원
npm의 package-lock.json은 정확한 의존성 버전을 고정해서 팀원 간 동일한 환경을 보장해요. 다만 설치 속도가 다른 매니저보다 느린 편이에요.
Yarn - 속도와 안정성의 균형
Yarn은 Facebook(현 Meta)이 npm의 단점을 보완하기 위해 만든 패키지 매니저예요. 특히 Yarn Berry(v2+)는 Plug'n'Play 방식으로 혁신적인 성능 개선을 이뤘어요.
# Yarn Classic 설치
npm install -g yarn
# 패키지 설치
yarn add lodash
# 전체 의존성 설치
yarn install
핵심 장점:
- 병렬 설치로 npm 대비 2배 빠른 속도
yarn.lock으로 더 엄격한 버전 관리- Yarn Berry의 Zero-Install로 node_modules 없이 실행 가능
Yarn Berry는 학습 곡선이 있지만, 모노레포 프로젝트에서 강력한 성능을 발휘해요.
pnpm - 디스크 효율성의 혁명
pnpm은 하드 링크와 심볼릭 링크를 활용해 디스크 공간을 획기적으로 절약하는 패키지 매니저예요. 여러 프로젝트를 동시에 관리한다면 최고의 선택이에요.
# pnpm 설치
npm install -g pnpm
# 패키지 설치
pnpm add react
# 의존성 설치
pnpm install
차별화 포인트:
- 디스크 사용량 최대 50% 절감 (공통 패키지 재사용)
- 엄격한 의존성 관리로 유령 의존성(phantom dependency) 방지
- npm/yarn 대비 30-50% 빠른 설치 속도
pnpm은 .pnpm-store에 모든 패키지를 한 번만 저장하고, 각 프로젝트는 링크로 참조해요. 100개 프로젝트가 React를 사용해도 디스크에는 딱 한 번만 저장되죠.
실전 벤치마크 비교
설치 속도 (Next.js 프로젝트 기준):
- npm: 32초
- yarn: 18초
- pnpm: 14초
디스크 사용량 (5개 프로젝트):
- npm: 1.2GB
- yarn: 1.1GB
- pnpm: 450MB
모노레포 환경에서는 pnpm의 워크스페이스 기능이 yarn과 함께 강력한 성능을 보여줘요.
주의사항
pnpm을 사용할 때 일부 레거시 패키지가 심볼릭 링크 구조로 인해 호환성 문제를 일으킬 수 있어요. 특히 네이티브 모듈이나 특정 빌드 도구와 함께 사용할 때는 사전 테스트가 필요해요. 이럴 때는 .npmrc 파일에 node-linker=hoisted 설정으로 npm과 유사한 구조로 전환할 수 있어요.
결론
개인 프로젝트나 빠른 프로토타입에는 npm이 가장 무난해요. CI/CD 파이프라인에서 안정성이 중요하다면 Yarn Classic을 추천해요. 여러 프로젝트를 관리하거나 디스크 공간이 제한적이라면 pnpm이 최적의 선택이에요. 2025년 현재 pnpm의 생태계가 성숙해져서 대부분의 프로젝트에서 안정적으로 사용할 수 있어요.
'개발 도구|생산성' 카테고리의 다른 글
| Turborepo 시작하기 - 모노레포 빌드 속도 10배 빠르게 만드는 법 (0) | 2026.03.13 |
|---|