npm 和 yarn 的缺点:
1. npm1 和 npm2 嵌套结构

问题:
依赖层级太深,会导致文件路径过长的问题,尤其在 window 系统下。
大量重复的包被安装,文件体积超级大
2. npm3 开始 和 yarn 扁平化依赖的方式来解决这个问题

扁平化依赖问题:
- 依赖结构的不确定性。
- 扁平化算法本身的复杂性很高,耗时较长。
- 项目中仍然可以非法访问没有声明过依赖的包
pnpm
1. pnpm正好解决了npm和yarn的缺点

更多详细参考链接: https://blog.csdn.net/weixin_42575028/article/details/127349060