C.W.K.
Stream
Lesson 03 of 05 · published

매일 치는 pnpm 명령

~12 min · pnpm, commands, workflow

Level 0초심자
0 XP0/55 lessons0/16 achievements
0/80 XP to next level80 XP to go0% complete

pnpm 의 CLI 가 npm 거랑 충분히 비슷해서 대부분 머슬메모리 transfer, 의도적 개선 몇 개와 함께.

pnpm add <pkg> 가 런타임 dep 추가. pnpm add -D <pkg> 가 dev dep. pnpm remove <pkg> 가 제거. args 없는 pnpm install 이 lockfile 의 모든 거 install. pnpm install --frozen-lockfile 이 pnpm 의 npm ci 등가물 — strict, 빠름, CI 에 옳은 명령.

pnpm <script> 가 스크립트 직접 실행 — run 불필요. pnpm buildpnpm run build 의 shorthand. 덜 타이핑, 더 적은 함정.

pnpm dlx <tool> 가 pnpm 의 npx — install 없이 도구 실행. pnpm dlx create-vite my-app 이 새 npx create-vite my-app.

pnpm store 가 글로벌 content-addressable store 관리. pnpm store path 가 어디 살지 표시; pnpm store status 가 건강 보고; pnpm store prune 이 어떤 프로젝트도 reference 안 하는 패키지 삭제.

pnpm why <pkg> 가 '왜 이게 의존성 트리에 있나?' 답 — 펼쳐진 lockfile 의 가장 유용한 디버깅 명령.

Code

매일 명령 — npm 모양, pnpm 맛·bash
# 추가 / 제거
pnpm add express
pnpm add -D vitest typescript
pnpm remove express

# 모든 거 install
pnpm install

# CI install (npm ci 등가물)
pnpm install --frozen-lockfile

# 스크립트 실행 ('run' 불필요)
pnpm build
pnpm test
pnpm dev

# install 없이 도구 실행
pnpm dlx create-vite my-app
Store + 의존성 디버깅·bash
# 글로벌 content-addressable store 가 어디 사나?
pnpm store path

# 건강 체크
pnpm store status

# 어떤 프로젝트도 reference 안 하는 패키지 삭제로 디스크 회수
pnpm store prune

# 왜 이 패키지가 트리에?
pnpm why react
pnpm why -r react       # 모든 workspace 에서 검색
npm 에서 마이그레이션·bash
# 기존 npm 관리 프로젝트에서 (package-lock.json 있음)
pnpm import          # package-lock.json -> pnpm-lock.yaml 변환
rm package-lock.json # 옛 lockfile 제거
rm -rf node_modules  # 옛 install 정리
pnpm install         # pnpm 통한 새 install

External links

Exercise

작은 npm 프로젝트를 pnpm 으로 변환: 'pnpm import' 돌리고, package-lock.json + node_modules 삭제, 'pnpm install'. 변환 전후 node_modules 크기 비교. 그 다음 'pnpm why <어떤 깊은 dep>' 로 의존성 체인 봐.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.