기능 비교
| 기능 | pnpm | Yarn | npm | 참고 |
|---|---|---|---|---|
| [워크스페이스 지원] | ✅ | ✅ | ✅ | |
격리된 node_modules | ✅ | ✅ | ✅ | 이는 pnpm의 기본값입니다. |
호이스팅된 node_modules | ✅ | ✅ | ✅ | 이는 npm의 기본값입니다. |
| Plug'n'Play | ✅ | ✅ | ❌ | 이는 Yarn의 기본값입니다. |
| [피어 자동 설치] | ✅ | ❌ | ✅ | |
| Zero-Installs | ❌ | ✅ | ❌ | |
| 종속성 패치 | ✅ | ✅ | ❌ | |
| Node.js 버전 관리 | ✅ | ❌ | ❌ | |
| Managing versions of itself | ✅ | ✅ | ❌ | |
| lockfile 보유 | ✅ | ✅ | ✅ | pnpm-lock.yaml, yarn.lock, package-lock.json. |
| [재정의 지원] | ✅ | ✅ | ✅ | Yarn에서는 "resolutions"로 알려져 있습니다. |
| Content-addressable 저장소 | ✅ | ✅ | ❌ | Yarn은 nodeLinker가 pnpm으로 설정된 경우 CAS를 사용합니다. |
| [동적 패키지 실행] | ✅ | ✅ | ✅ | pnpm dlx, yarn dlx, npx. |
| [부작용 캐시] | ✅ | ❌ | ❌ | |
| 카탈로그 | ✅ | ❌ | ❌ | |
| 구성 종속성 | ✅ | ❌ | ❌ | |
| JSR 레지스트리 지원 | ✅ | ✅ | ❌ | |
| 스크립트 실행 전 자동 설치 | ✅ | ❌ | ❌ | Yarn에서는 Plug'n'Play가 종속성을 항상 최신 상태로 유지합니다. |
| [후크] | ✅ | ✅ | ❌ | |
| 라이선스 목록 보기 | ✅ | ✅ | ❌ | pnpm은 pnpm licenses list를 통해 이를 지원합니다. Yarn에는 이를 위한 플러그인이 있습니다. |
참고: 비교를 간결하게 유지하기 위해 자주 사용될 가능성이 높은 기능만 포함했습니다.