描述

中英双语

此命令将打印导致在当前项目中安装给定包的依赖链。

如果提供了一个或多个包规范,则只有与其中一个说明符匹配的包才会解释它们的关系。

包规范还可以引用 ./node_modules 中的文件夹

例如,在 npm 的源代码树中运行 npm explain glob 将显示:

glob@7.1.6
node_modules/glob
  glob@"^7.1.4" from the root project

glob@7.1.1 dev
node_modules/tacks/node_modules/glob
  glob@"^7.0.5" from rimraf@2.6.2
  node_modules/tacks/node_modules/rimraf
    rimraf@"^2.6.2" from tacks@1.3.0
    node_modules/tacks
      dev tacks@"^1.3.0" from the root project

要仅解释驻留在特定文件夹中的包,请将其作为参数传递给命令。当试图弄清楚为什么要复制给定的依赖项以满足项目中冲突的版本要求时,这可能很有用。

$ npm explain node_modules/nyc/node_modules/find-up
find-up@3.0.0 dev
node_modules/nyc/node_modules/find-up
  find-up@"^3.0.0" from nyc@14.1.1
  node_modules/nyc
    nyc@"^14.1.1" from tap@14.10.8
    node_modules/tap
      dev tap@"^14.10.8" from the root project