主流 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+),但兼容性可能堪忧。
➡️

继续阅读