pnpm 为什么分析依赖时显示的包和实际 node_modules 不一样?

Zz兰兰 阅读 3

我用 pnpm 装了个项目,执行 pnpm why lodash 显示好几个依赖都用了 lodash,但去 node_modules 里却只看到一个 .pnpm 目录,根本找不到直接的 lodash 文件夹,这到底咋回事?

是不是 pnpm 的依赖结构和 npm/yarn 不一样?我之前用 yarn 的时候 yarn why 的结果和 node_modules 结构基本能对上,现在完全懵了。

我来解答 赞 2 收藏
二维码
手机扫码查看
1 条解答
百里东慧
你这个问题是因为 pnpm 用了特殊的依赖存储方式。pnpm 把所有包都存到 .pnpm 目录下,然后通过符号链接来管理 node_modules。要是想看实际安装的 lodash,去 .pnpm 目录下找 .pnpm/lodash@版本号/node_modules/lodash 就行了,别按老套路在顶层 node_modules 找。
点赞
2026-03-27 21:29