PNPM总结
1 pnpm原理
pnpm会在node_modules下面直接依赖我们项目所依赖的包比如:
{"description": "","devDependencies": {"@types/node": "^20.19.10","electron": "^37.2.6","typescript": "^5.9.2"},
}
子依赖打平放在node_modules的.pnpm下面
在子依赖中可以看到一些符号链接。
pnpm的符号连接指向
Macbook/Users/用户名/Library/pnpm/store
解决幽灵依赖。
通过全局 store 和硬链接,相同的包只存储一次,不同版本通过不同的哈希值区分。
也可以自己设置store路径
# 查看当前 store 路径pnpm store path# 设置自定义 store 路径pnpm config set store-dir /path/to/custom/store
/Users/用户名/Library/pnpm/store/v10/
├── files/ # 内容寻址存储
│ ├── 00/ # 按哈希值分组的文件
│ ├── 01/
│ ├── 02/
│ └── ...
├── index/ # 包的索引信息
└── tmp/ # 临时文件