前端包管理器
npm
- 递归依赖树
- 多次安装
- node_module文件夹结构的依赖从嵌套到平铺,引入幽灵依赖的问题
yarn
-
多项目(monorepe)支持
-
缓存安装 离线下载
-
并行下载
-
文件锁
-
平铺
pnpm
注:硬链接是多个文件名指向同一个文件的实际内容,而软链接(符号链接)是一个独立的文件,指向另一个文件或目录的路径
- 解决npm、yarn中平铺依赖存储冗余的问题 (npm和yarn只能提升一层)
- 内存寻址存储,实际存储在~/.pnpm-store/
- 只有项目中真正依赖的包,才会在node_modules的目录下,解决幽灵依赖问题