pnpm
pnpm 9+pnpm 빠른 참조: install / add / remove / update, scripts, workspaces, store & cache, config — 이 GitHub 사이트의 pnpm 워크플로에 맞춰 옵션과 실전 예시까지 정리했습니다.
명령어 31개
설치 & 관리
pnpm installpackage.json 의 모든 의존성을 설치하고 필요 시 lockfile 을 갱신합니다.
--frozen-lockfile (이 repo 의 CI 기본값); --prod; --offline; --ignore-scripts; --shamefully-hoist; --strict-peer-dependencies=false; --prefer-offline
pnpm install --frozen-lockfilepnpm add <pkg>런타임 의존성을 추가하고 package.json 에 기록합니다.
-D / --save-dev; -E / --save-exact; -O / --save-optional; -P / --save-prod; -g global; --workspace-root workspace 루트에 추가
pnpm add -D vitest @types/nodepnpm add -g <pkg>전역 도구(예: TypeScript, ESLint, tsx) 를 PATH 에 설치합니다.
-g; --global-prefix; --reporter append|ndjson
pnpm add -g typescript tsxpnpm remove <pkg>프로젝트와 lockfile 에서 의존성을 제거합니다.
-D devDependencies 에서; -g globals 에서; --filter 지정 workspace 에서만 제거
pnpm remove lodash && pnpm remove -F web -D @types/jestpnpm update / pnpm update -Lsemver 범위 내에서 의존성을 업데이트; -L / --latest 는 최신 버전으로 업그레이드.
-L / --latest; -i / --interactive; --workspace-root; --filter
pnpm update -i vue && pnpm update -L @nuxt/i18npnpm outdated오래된 패키지를 현재 / wanted / latest 버전과 함께 표시합니다.
--long; --recursive / -r; --filter
pnpm outdated -r --longpnpm list설치된 패키지와 그것에 의존하는 트리를 나열합니다.
--depth 0 직접 의존성만; --prod / --dev; -r 재귀; --json | jq
pnpm list --depth 0 --prod | head -20pnpm audit / pnpm audit --fixlockfile 에 대해 npm 스타일 보안 권고 검사를 실행합니다.
--prod production 만; --json
pnpm audit --json | jq '.metadata.vulnerabilities'pnpm dedupe가능하면 단일 버전으로 호이스팅해 lockfile/의존성 트리를 가지치기합니다.
--check; --strict-peer-dependencies=false
pnpm dedupe --checkpnpm rebuild네이티브 의존성을 재빌드합니다(빌드 후 / Node 버전 변경 후).
--reporter; --recursive; --filter
pnpm rebuild -r && pnpm rebuild esbuildpnpm approve-builds네이티브 패키지(esbuild, sharp, @swc/core 등)의 빌드 스크립트를 승인합니다.
인터랙티브 프롬프트; package.json#pnpm.onlyBuiltDependencies 로도 설정 가능
pnpm approve-builds --yes esbuild @parcel/watcherpnpm import기존 package-lock.json / yarn.lock 을 pnpm-lock.yaml 로 가져옵니다.
import; 다른 파라미터 없음
pnpm import --no-lockfile실행 & DX
pnpm run <script>package.json#scripts 의 스크립트를 실행합니다.
-r / --recursive 모든 패키지에서; --filter / -F 단일 패키지 대상; --parallel; --no-color
pnpm run dev && pnpm -F src/www run buildpnpm dlx <pkg>레지스트리에서 패키지를 가져와 영구 설치 없이 바이너리를 실행합니다.
dlx pkg args; --package 추가 패키지; --silent
pnpm dlx create-vite@latest my-app --template vue-ts && pnpm dlx vitest --runpnpm exec <cmd>프로젝트 컨텍스트에서 명령을 실행합니다(PATH 에 .node_modules/.bin 포함).
exec ...; --filter 대상 workspace; --recursive; --parallel
pnpm exec vitest run && pnpm exec -- tsc --noEmit -p src/www/tsconfig.jsonpnpm create <name>create-* 스타일 패키지로 새 프로젝트를 스캐폴드합니다.
create [name] [args]; -y / --yes
pnpm create nuxt my-app && cd my-app && pnpm installWorkspace
pnpm -r <cmd>재귀 — workspace 의 모든 패키지에서 pnpm 액션을 실행합니다.
-r run build; --parallel; --topology 정렬; --order
pnpm -r --filter "./packages/**" run build --silentpnpm --filter <pkg>이름, 디렉터리, glob 또는 ./상대경로 로 단일 패키지를 대상으로 합니다.
--filter pkg | --filter ./packages/foo | --filter {pkg} 이름만 엄격; -F 별칭
pnpm --filter trowsoft-pdf-merge run build && pnpm -F "./packages/tools/*" outdatedpnpm add ... -w / --workspace-rootworkspace 전체에 공유되는 호이스팅된 devDependency 를 추가합니다.
-w / --workspace-root; -D devDeps 로
pnpm add -Dw typescriptStore & Cache
pnpm store pathpnpm 의 content-addressable store 위치를 출력합니다(여러 프로젝트에서 중복 제거).
store path; --virtual-store-dir DIR
pnpm store path && du -sh $(pnpm store path)pnpm store prune참조되지 않는 패키지를 store 에서 제거합니다(디스크 사용량 감소).
store prune; --force 프롬프트 건너뛰기
pnpm store prunepnpm cache list / cache deletepnpm 의 메타데이터 캐시 항목을 나열하거나 삭제합니다.
cache list; cache delete <pkg>@<ver>; --registry
pnpm cache list vitest@latest설정 & 정보
pnpm config get|set <key> [value]사용자/전역/store/프로젝트 pnpm 설정을 읽거나 씁니다.
config get key; config set key val; --location project|user|global
pnpm config set registry https://registry.npmjs.org/ --location user && pnpm config get registrypnpm config delete|list유효한 모든 설정 키를 나열하거나 하나를 삭제합니다.
config list --location project; config delete key
pnpm config list --location projectpnpm why <pkg>패키지가 node_modules 에 들어 있는 이유를 설명 — 의존 체인을 보여줍니다.
--prod; --dev; -r; --filter
pnpm why -r vue && pnpm why lodash -rpnpm link / pnpm link --global현재 프로젝트에 로컬 패키지를 심볼릭 링크하거나, 전역 패키지를 로컬에 설치합니다.
link (uses ./); link --global <pkg>; --dir
cd packages/tools/foo && pnpm link --global && cd my-app && pnpm link --global fooPublish & Pack
pnpm publish현재 패키지를 설정된 레지스트리로 게시합니다.
--dry-run; --tag alpha|beta|next; --access public|restricted; --otp N; --filter
pnpm publish --dry-run --tag canary --access publicpnpm pack게시하지 않고 패키지 tarball 을 만듭니다(다른 곳에 업로드 용).
--pack-gzip-level 0..9; --pack-destination DIR
pnpm pack --pack-destination ./release반복 워크플로
pnpm recursive list / pnpm -r why모든 workspace 의 의존성 트리를 한 번에 살펴봅니다.
pnpm recursive list --depth 0pnpm run --filter <pkg> test단일 workspace 에서만 스크립트 실행 — 세밀한 CI 에 적합.
--filter dependencies/dependents 포함; --parallel
pnpm --filter "trowsoft-pdf-*" run build --parallelpnpm sync:tools / pnpm build:tools이 사이트의 repo 헬퍼 — 도구 번역을 Nuxt 앱에 동기화한 다음 도구 번들을 빌드.
pnpm sync:tools && pnpm build:tools관련 명령어 치트시트
volta
매일 쓰는 Volta 명령어 빠른 참조 — Node / npm / Yarn / pnpm 툴체인 설치, 프로젝트별 버전 고정, 글로벌 패키지 관리, Volta 자체 문제 해결 — 자주 쓰는 옵션과 실전 예시까지 함께 정리했습니다.
명령어 25개
Volta 1.x
npm
매일 쓰는 npm CLI 명령어 빠른 참조 — init / install / add / remove / update / scripts / run / publish / audit, 그리고 lockfile, 레지스트리, 캐시 관리 — 자주 쓰는 옵션과 실전 예시까지 함께 정리했습니다.
명령어 34개
npm 10+
yarn
매일 쓰는 Yarn CLI 명령어 빠른 참조(Yarn Classic 1.x와 Yarn Berry 2/3/4 모두) — install / add / remove / run / workspaces, lockfile, Plug'n'Play, Berry 설정 — 자주 쓰는 옵션과 실전 예시까지 함께 정리했습니다.
명령어 33개
Yarn 1.x (classic) / Yarn 4 (berry)
npx
npx 명령어 빠른 참조 — 일회성 패키지 바이너리 실행, 프로젝트 스캐폴딩, npx 캐시 관리, 버전 고정, 인터랙티브 CLI 함정 회피 — 자주 쓰는 옵션과 실전 예시까지 함께 정리했습니다.
명령어 25개
npx 10+ (shipped with npm)
vite
Vite CLI 명령어 빠른 참조 — 개발 서버, 빌드, 미리보기, 의존성 사전 번들링, 플러그인 관리, 환경 변수, 프로젝트 검사 — 자주 쓰는 옵션과 실전 예시까지 함께 정리했습니다.
명령어 30개
Vite 5+
상표 및 사용 안내
본 명령줄 도구 치트시트 모음은 오픈 커뮤니티 참고 자료입니다. 본 문서에서 언급되는 도구의 명칭, 로고, 상표(예: Git™, Docker™, Kubernetes®, kubectl, PostgreSQL®, MySQL®, Redis™, MongoDB®, Linux™, PowerShell™, Vim™ 등)는 각 권리자의 자산이며, 본 문서에서는 식별 및 참고 목적のみで 사용됩니다.
본 치트시트의 모든 내용은 독립적으로 작성된 단순화된 자체 완결형 참고 자료이며, 어떠한 공식 문서와도 계열·인정·출처 관계가 없습니다. 명령 목록, 플래그 설명, 예제는 모두 저자의 원본 단순화이며, 권위 있는 정보가 필요한 경우 각 도구의 공식 문서를 참조하시기 바랍니다.
명령 구문 및 옵션 플래그는 도구 버전에 따라 다를 수 있습니다. 표시되는 버전 태그는 안정 릴리스를 반영하며, 다른 버전에서는 동작이 다를 수 있습니다. 본 치트시트는 상표권자의 어떠한 선호나 권장도 의미하지 않습니다.
상표권자 또는 저작권자가 사이트의 일부 내용에 대해 권리 침해가 있다고 판단하시는 경우 [email protected]으로 이메일을 보내 주십시오. 유효한 권리 증명을 받은 후 합리적인 기간 내에 관련 내용을 수정하거나 삭제하겠습니다.
본 사이트는 사이트 정보의 이용으로 인해 발생하는 어떠한 직접적 또는 간접적 손해에 대해서도 법적 책임을 지지 않습니다.
pnpm 소개
pnpm은 Zoltan Kochan이 2017년에 만든 Node.js 오픈 소스 패키지 매니저로, npm과 Yarn의 더 빠르고 디스크 효율적인 대안을 목표로 합니다. 현재 안정 버전은 pnpm 9+이며, 동일한 `package.json`과 `node_modules` 규약을 읽는 한 npm CLI의 드롭인 대체입니다. 가장 큰 발명은 콘텐츠 주소 지정 저장소(기본 `~/.local/share/pnpm/store`, 프로젝트별 `pnpm-store/`)로, 각 패키지 버전은 한 번만 다운로드되고 하드 링크로 여러 프로젝트에 공유되어 디스크 사용량이 작고 설치가 빠릅니다. pnpm은 기본적으로 평평하지 않은 `node_modules` 레이아웃을 강제하므로, 각 패키지는 자신의 `package.json`에서 선언한 모듈만 `import`할 수 있어 팬텀 의존성이 사라지고 진짜 버그가 런타임이 아닌 설치 시점에 드러납니다. 기능으로는 workspaces(모노레포), `pnpm dlx`(`npx`에 해당), `pnpm filter` 셀렉터, 결정적인 라이프사이클 스크립트 순서, 엄격한 peer dependencies 모드, `pnpm patch`를 통한 의존성 패치 적용이 있습니다. 속도와 정확성을 동시에 챙기고 싶은 모든 Node 프로젝트에 pnpm을 사용하고, npm에 고정된 CI를 재현해야 할 때만 npm으로 돌아가세요. pnpm은 패키지 내용을 어디에도 전송하지 않습니다 — HTTPS를 통한 레지스트리 트래픽은 단지 tarball 다운로드뿐입니다.
치트시트 버전 1.0.0