pnpm
-
官网
-
优势
- 快速
- 高效
- node_modules 中的文件为复制或链接自特定的内容寻址存储库
- 支持 monorepos
- Monorepo 意味着把所有项目的所有代码统一维护在一个单一的代码版本库中
- pnpm 内置支持单仓多包
- 严格
- pnpm 默认创建了一个非平铺的 node_modules,因此代码无法访问任意包
-
和npm、yarn的区别
- npm3+ 和 yarn 是通过铺平的扁平化的方式来管理 node_modules,解决了嵌套方式的部分问题,但是引入了幽灵依赖的问题,并且同名的包只会提升一个版本的,其余的版本依然会复制多次。
- pnpm从全局 store 硬连接到 node_modules/.pnpm,然后之间通过软链接来组织依赖关系。