2

是否可以从锁定文件(npm/pnpm/ yarn)中列出特定依赖项的所有依赖项?

  • 这是相反的yarn ls
  • 如果 npm/pnpm/yarn 中有内置命令,我宁愿不读取锁定文件

我知道我可以向 npm registery 询问,但我正在寻找没有网络调用的解决方案(期望 npm/pnpm/yarn 安装)

4

1 回答 1

3

pnpm 和 Yarn 都有一个why命令。这样你就可以运行了<yarn|pnpm> why <pkg>

在 pnpm 的情况下,pnpm why <pkg>pnpm ls <pkg> --depth Infinity. 这是因为 pnpm 创建了一个非平面的 node_modules。

输出示例pnpm why glob

@pnpm/registry-mock 1.8.0
├─┬ cpr 3.0.1
│ └─┬ rimraf 2.7.1
│   └── glob 7.1.5
├─┬ rimraf 3.0.0
│ └── glob 7.1.5
└─┬ verdaccio 4.3.4
  ├─┬ bunyan 1.8.12
  │ └─┬ mv 2.1.1
  │   └─┬ rimraf 2.4.5
  │     └── glob 6.0.4
  └─┬ mv 2.1.1
    └─┬ rimraf 2.4.5
      └── glob 6.0.4
tslint 5.20.0
└── glob 7.1.5
verdaccio 4.3.4
├─┬ bunyan 1.8.12
│ └─┬ mv 2.1.1
│   └─┬ rimraf 2.4.5
│     └── glob 6.0.4
└─┬ mv 2.1.1
  └─┬ rimraf 2.4.5
    └── glob 6.0.4
于 2019-11-04T23:55:06.837 回答