pnpm add <pkg>
패키지와 패키지가 의존하는 모든 패키지를 설치합니다. 기본적으로 새 패키지는 프로덕션 의존성으로 설치됩니다.
요약#
| 명령어 | 의미 |
|---|---|
pnpm add sax |
dependencies에 저장 |
pnpm add -D sax |
devDependencies에 저장 |
pnpm add -O sax |
optionalDependencies에 저장 |
pnpm add -g sax |
패키지를 전역으로 설치합니다 |
pnpm add sax@next |
next 태그로부터 설치 |
pnpm add sax@3.0.0 |
3.0.0 버전 명시 |
지원되는 패키지 소스#
pnpm은 다양한 소스로부터 패키지 설치를 지원합니다. 다음에 대한 자세한 문서는 지원되는 패키지 소스 페이지를 참조하세요:
- npm 레지스트리
- JSR registry
- 워크스페이스 패키지
- 로컬 파일 시스템 (tarball 및 디렉토리)
- 원격 tarball
- Git repository (semver, 하위 디렉토리 등 포함)
패키지 관리자 또는 런타임 추가#
추가된 버전: v12.0.0-rc.6 (pnpm v12 전용)
패키지 관리자 — npm, yarn 또는 bun — 중 하나를 지정하면 같은 이름의 npm 패키지를 설치하는 대신 프로젝트가 사용하는 패키지 관리자를 기록합니다:
pnpm add yarn@4
"packageManager": "yarn@4.18.0"을 기록하며, 다른 모든 패키지 관리자는 devEngines.packageManager에 범위로 기록됩니다. 런타임(node, deno)을 지정하면 engines.runtime 아래에 기록되며, 이는 명시적인 node@runtime:22 표기가 이미 하던 방식과 같습니다 — bun은 둘 다에 해당하며, 런타임을 요청하지 않는 한 프로젝트의 패키지 관리자로 선언됩니다(pnpm add bun@runtime:1.3.0).
전역적으로, pnpm add -g yarn은 Classic 전용 yarn 패키지 대신 현재 Yarn 라인을 설치하며, pnpm add -g node@22는 Node.js를 다운로드하는 래퍼 대신 해당 Node.js 릴리스를 설치합니다.
릴리스된 버전을 요청하는 대신 패키지의 위치를 지정하는 specifier는 — pnpm add yarn@npm:yarn@1.22.22, pnpm add yarn@yarnpkg/berry — 지정한 대상을 일반 의존성으로 설치합니다.
옵션#
--save-prod, -P, -p#
지정된 패키지를 일반 dependencies로 설치합니다.
--save-dev, -D, -d#
지정된 패키지를 devDependencies로 설치합니다.
--save-optional, -O, -o#
지정된 패키지를 optionalDependencies로 설치합니다.
--save-exact, -E, -e#
저장된 의존성은 pnpm의 기본 semver 범위 연산자를 사용하지 않고 정확한 버전으로 구성됩니다.
--save-peer#
--save-peer 를 사용하면 하나 이상의 패키지가 peerDependencies 에 추가되고 dev 의존성으로 설치됩니다.
--save-catalog#
버전 10.12.1에서 추가됨
새로운 dependency를 기본 catalog에 저장합니다.
--save-catalog-name <catalog_name>#
버전 10.12.1에서 추가됨
새로운 의존성을 지정된 catalog에 저장합니다.
--config#
버전 10.8.0에서 추가됨
configDependencies 에 의존성을 저장합니다.
--ignore-workspace-root-check#
--ignore-workspace-root-check 또는 -w 플래그를 사용하지 않으면, 루트 워크스페이스 패키지에 새 의존성을 추가하는 데 실패합니다.
예를 들어, pnpm add debug -w 와 같이 사용할 수 있습니다.
--global, -g#
패키지를 전역으로 설치합니다. 자세한 내용은 전역 패키지를 참조하세요.
공백으로 구분된 각 패키지는 각각 별도의 격리된 디렉터리에 설치됩니다. 여러 패키지를 하나의 격리된 설치로 묶어 의존성을 공유하고 함께 제거되도록 하려면, 쉼표로 구분된 목록으로 전달하세요(예: pnpm add -g eslint,prettier).
--workspace#
워크스페이스에서 발견된 경우에만 새 의존성을 추가합니다.
--allow-build#
버전 10.4.0에서 추가됨
설치 중에 postinstall 스크립트를 실행할 수 있도록 허용된 패키지 이름 목록입니다.
예시:
pnpm --allow-build=esbuild add my-bundler
이 명령은 esbuild의 postinstall 스크립트를 실행하고, pnpm-workspace.yaml의 allowBuilds 필드에도 추가합니다. 따라서 앞으로 esbuild는 항상 스크립트를 실행할 수 있습니다.
--filter <package_selector>#
--cpu=<name>#
버전 10.14.0에서 추가됨
설치할 네이티브 모듈의 CPU 아키텍처를 재정의합니다. 허용되는 값은 process.arch에서 파생된 package.json의 cpu 필드와 동일합니다.
--os=<name>#
버전 10.14.0에서 추가됨
설치할 네이티브 모듈의 OS를 재정의합니다. 허용되는 값은 package.json의 os 필드와 동일하며, 이는 process.platform에서 파생됩니다.
--libc=<name>#
버전 10.14.0에서 추가됨
설치할 네이티브 모듈의 libc를 재정의합니다. 허용되는 값은 package.json의 libc 필드와 동일합니다.