Dark mode
Node Package Manager
Node Package Manager เป็นเครื่องมือสำหรับการจัดการแพ็คเกจและการพึ่งพา (dependencies) ในโปรเจกต์ Node.js ช่วยให้นักพัฒนาสามารถติดตั้ง อัปเดต และจัดการไลบรารีต่างๆ ได้อย่างมีประสิทธิภาพ
Feature/Aspect | ||||
---|---|---|---|---|
Speed | ช้ากว่าเนื่องจากการแคชมีประสิทธิภาพน้อยกว่า | เร็วกว่าเพราะใช้การ hard link และ shared content store | เร็วกว่า npm โดยเฉพาะเมื่อใช้การแคช | เร็วที่สุด เพราะใช้ Zig และมีการปรับแต่งประสิทธิภาพสูง |
Disk Usage | ใช้พื้นที่มากเพราะแต่ละโปรเจกต์มี node_modules ของตัวเอง | ใช้พื้นที่น้อยเพราะมี content-addressable store และ symlinks | ปานกลาง ดีกว่า npm เล็กน้อย | ปานกลาง ใช้โครงสร้างแบบ npm แต่มีการปรับแต่งให้เร็วกว่า |
Workspaces | รองรับ (ในตัวตั้งแต่ v7 เป็นต้นไป) | รองรับ พร้อมประสิทธิภาพที่ดีกว่า | รองรับ (มีความสามารถที่ดีมาก) | รองรับ |
Installation Method | มาพร้อมกับ Node.js | ต้องติดตั้ง (npm install -g pnpm ) | ต้องติดตั้ง (npm install -g yarn ) | ต้องติดตั้ง (ดาวน์โหลดจากเว็บไซต์หรือใช้ curl) |
Node Modules Layout | โครงสร้างแบน (node_modules ) | โครงสร้าง symlink เพื่อหลีกเลี่ยงการซ้ำซ้อน | โครงสร้างแบน (node_modules ) | โครงสร้างแบน (node_modules ) |
เปรียบเทียบ Package Manager CLI
คำสั่ง | npm | pnpm | yarn | bun |
---|---|---|---|---|
ติดตั้ง dependencies | npm install | pnpm install | yarn | bun install |
ติดตั้ง package | npm install <package> | pnpm add <package> | yarn add <package> | bun add <package> |
ติดตั้ง dev dependencies | npm i -D <package> | pnpm add -D <package> | yarn add -D <package> | bun add -d <package> |
ลบ package | npm uninstall <package> | pnpm remove <package> | yarn remove <package> | bun remove <package> |
รัน script | npm run <script> | pnpm run <script> | yarn <script> | bun run <script> |
อัปเดท package | npm update <package> | pnpm update <package> | yarn upgrade <package> | bun update <package> |