1. yarn why 追溯依赖来源
- yarn why 命令会打印某个包出现在依赖树中的确切原因,即是哪条依赖链最终引入了它
- 可指定版本或范围(如 yarn why lodash@^3)来查明为何项目依赖了某个特定版本
- 这对诊断不需要的传递依赖、排查版本冲突、发布前审计 node_modules 都很有帮助
2. 递归与结构化输出
- 在 Yarn Modern 中,加上 -R, --recursive 参数后,会深入列出每个 workspace 通向该依赖的所有路径
- --json 参数可将输出格式化为 NDJSON 流,便于脚本处理
- --peers 参数会同时打印与指定名称匹配的 peer dependencies
3. 与其他分析方式互补
- 除命令行外,也可直接阅读 yarn.lock 中扁平化的依赖条目来理解包之间的关系
- 对于希望可视化依赖图的场景,可借助第三方工具渲染 lockfile
- 若发现某个"根"依赖并非项目的直接依赖,可继续对它运行 yarn why,直到追溯到项目的直接依赖为止