กลับไปหน้าสูตร
#pnpm#nodejs#package-manager#cheatsheet
pnpm Command Cheatsheet
รวมคำสั่ง pnpm แบบจัดเต็ม: install, workspace, filter, scripts, store/cache, publish และ troubleshooting
11 มีนาคม 2569อ่านประมาณ 2 นาที
สารบัญสูตร
Basics
| Command | ใช้ทำอะไร |
|---|---|
pnpm -v | ดูเวอร์ชัน |
pnpm init | สร้าง package.json |
pnpm install / pnpm i | ติดตั้ง deps |
pnpm add <pkg> | เพิ่ม dependency |
pnpm add -D <pkg> | เพิ่ม devDependency |
pnpm remove <pkg> | ลบ dependency |
pnpm update | อัปเดตแพ็กเกจ |
Scripts
| Command | ใช้ทำอะไร |
|---|---|
pnpm run <script> | รัน script |
pnpm <script> | shorthand ถ้าชื่อไม่ชนคำสั่งหลัก |
pnpm test | run test |
pnpm lint | run lint |
pnpm build | run build |
pnpm run dev -- --port 4000 | ส่ง args เพิ่ม |
Workspace
| Command | ใช้ทำอะไร |
|---|---|
pnpm -r install | install ทุก package ใน workspace |
pnpm -r run build | run build ทั้งหมด |
pnpm -r run lint | run lint ทั้งหมด |
pnpm --filter <pkg> run dev | รันเฉพาะ package |
pnpm --filter "./apps/*" run dev | รันตาม path pattern |
pnpm --filter <pkg> add <dep> | add dep ให้ package เดียว |
Filtering Power
| Pattern | ตัวอย่าง |
|---|---|
| package เดียว | --filter @org/web |
| dependents | --filter ...@org/core |
| dependencies | --filter @org/web... |
| by path | --filter ./apps/www |
| changed packages | --filter "...[origin/main]" |
Lockfile / CI
| Command | ใช้ทำอะไร |
|---|---|
pnpm install --frozen-lockfile | CI install แบบ strict |
pnpm install --prefer-offline | ใช้ cache ให้มากขึ้น |
pnpm fetch | prefetch deps เข้า store |
pnpm store path | ดูตำแหน่ง store |
pnpm store prune | ลบ store ที่ไม่ใช้ |
Global & dlx
| Command | ใช้ทำอะไร |
|---|---|
pnpm add -g <pkg> | ติดตั้ง global package |
pnpm remove -g <pkg> | ลบ global package |
pnpm dlx <pkg> | รัน package ชั่วคราว |
pnpm dlx create-next-app@latest | scaffold โปรเจกต์ |
Audit / Why / List
| Command | ใช้ทำอะไร |
|---|---|
pnpm audit | security audit |
pnpm why <pkg> | ตรวจว่าทำไมแพ็กเกจนี้ถูกติดตั้ง |
pnpm list | ดู dependency tree |
pnpm outdated | ดูแพ็กเกจที่ outdated |
Publish
| Command | ใช้ทำอะไร |
|---|---|
pnpm publish | publish package |
pnpm publish --access public | publish public |
pnpm -r publish | publish หลาย package |
pnpm version patch | bump version |
Troubleshooting
| ปัญหา | วิธีแก้ |
|---|---|
| lockfile mismatch | รัน pnpm install แล้ว commit lockfile |
| symlink issue | ลบ node_modules + install ใหม่ |
| store พัง | pnpm store prune + install |
| peer dep warning | ตรวจ versions ให้ตรง ecosystem |