主流 nodejs 包管理器 pnpm vs bun vs npm vs yarn 简单横评 - 程序设计实验室
💡
原文中文,约1800字,阅读约需5分钟。
📝
内容提要
本文测试了不同包管理器在 StarBlog Vue Admin 项目中的空间占用情况。结果显示,pnpm 占用最少(205.36 MB),bun 占用最多(234.13 MB),而 npm 和 yarn 的占用相近,均在 200 MB 左右。Node.js 20 的优化使 npm 在速度和空间占用上都有所提升。
🎯
关键要点
- 本文测试了不同包管理器在 StarBlog Vue Admin 项目中的空间占用情况。
- pnpm 占用最少(205.36 MB),bun 占用最多(234.13 MB),npm 和 yarn 的占用相近,均在 200 MB 左右。
- Node.js 20 的优化使 npm 在速度和空间占用上都有所提升。
- 测试环境为 Windows10 22H2,Node.js 版本为 v20.18.1。
- pnpm 的“硬链接 + 全局 store”机制在空间占用上表现最佳。
- npm 和 yarn 在单项目下的空间占用差异不大,均在 200 MB 左右。
- bun 在速度上通常领先,但在空间占用上表现最差,说明其去重/节省空间的优化不如 pnpm。
- 项目依赖结构的影响使得 npm 的冗余问题不明显,导致其与其他包管理器的空间占用差距小。
- Node.js 20 的改进使 npm 的性能和磁盘效率提升,单项目场景下表现良好。
- bun 的安装速度快,但空间优化机制不如 pnpm,导致磁盘占用最高。
- pnpm 在多个项目共享依赖时能完全发挥优势,单项目时优势被压缩。
- npm 在 Node.js 20 的优化下,速度和空间占用表现与 yarn 相当。
- yarn 经典版相比 npm 没有太大优势,更多人转向 yarn berry(v2+),但兼容性可能堪忧。
➡️