pnpm

背景

因为最近遇到一个包多版本依赖的问题,遂研究研究npm包管理…

结果发现了这个宝藏**pnpm**

https://zhuanlan.zhihu.com/p/137535779

PNPM

pnpm使用内容可寻址文件系统将磁盘上所有模块目录中的所有文件存储在磁盘上。

使用pnpm,lodash将存储在可寻址内容的存储中,因此:

如果您依赖lodash的不同版本,则仅将不同的文件添加到存储中。 如果lodash有100个文件,而新版本仅对其中一个文件进行了更改,则pnpm update将仅向存储添加1个新文件。

所有文件都保存在磁盘上的单个位置。 安装软件包时,它们的文件从该单个位置链接,不占用额外的磁盘空间。 使用硬链接或ref链接(写时复制)执行链接。

结果,您在磁盘上节省了数GB的空间,并且安装速度大大提高了! 如果您想了解有关pnpm创建的唯一node_modules结构以及为什么它可以在Node.js生态系统中正常工作的更多详细信息,请阅读这篇小文章:平坦的node_modules不是唯一的方法。

本文引用的内容,如有侵权请联系我删除,给您带来的不便我很抱歉。