yarn why

显示有关一个包为何被安装的信息。

yarn why <query>

这个命令将确定为什么安装了一个包,详述其它哪些包依赖它,例如,它是否在 package.json 清单里被显式标记为一个依赖。

yarn why jest
yarn 为什么 vx.x.x
[1/4] 
[2/4] 
[3/4] 
[4/4] 
info Has been hoisted to "jest"
info This module exists because it's specified in "devDependencies".
info Disk size without dependencies: "1.29kB"
info Disk size with unique dependencies: "101.31kB"
info Disk size with transitive dependencies: "20.35MB"
info Amount of shared dependencies: 125

查询参数

yarn why 强制性的查询参数可以是以下之一:

  • 一个包名(作为上面例子里的)
  • 一个包目录;例如:yarn why node_modules/once
  • 一个包目录里的文件;例如:yarn why node_modules/once/once.js

文件也可以是绝对路径。