简介pnpm(performant npm)在 2017 年正式发布,定义为快速的,节省磁盘空间的包管理工具,开创了一套新的依赖管理机制。优势在介绍 pnpm 的优势之前,先来了解一下在以前 npm 和 yarn 的一些问题。早期的 npm1、npm2 主要是采用简单的依赖递归方式,造成了高度的依赖嵌套,此时就造成了以下问题:重复依赖嵌套地狱:重复大量的依赖嵌套,增加文件体积,造成了磁盘空间的浪费,使得安装速度过慢。文件路径过长:window 系统下,路径过长会导致爆错,最多260多个字符。之后 npm3 采用扁平化的方式,将依赖提升到根目录,解决了路径过长的问题,但是也带来了新的问题:扁平化依赖算法耗时长幻影依赖(Phantom dependencies):由于扁平化的方式使得依赖提升到了根目录,此时项目中的 package.json 并没有记录某个依赖,但是却能够在项目中使用,此时就造成了幻影依赖。幻影依赖可能会导致依赖之间的兼容问题,导致项目不能正常运行。不确定性(Non-Determinism):由于依赖提升只能提升一个,如 A包安装B@1,C包和D包安装B@2,此时一个B依赖
a
不过是些许风霜罢了