npm-explain

解释已安装的包

选择 CLI 版本

概要

npm explain <package-spec>
alias: why

描述

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

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

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

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

node_modules/glob
glob@"^7.1.4" from the root project
node_modules/tacks/node_modules/glob
glob@"^7.0.5" from [email protected]
node_modules/tacks/node_modules/rimraf
rimraf@"^2.6.2" from [email protected]
node_modules/tacks
dev tacks@"^1.3.0" from the root project

要解释特定文件夹中的包,请将其作为参数传递给命令。当尝试确定为什么给定依赖项被复制以满足项目中冲突的版本要求时,这很有用。

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

配置

json

  • 默认:false
  • 类型:布尔值

是否输出 JSON 数据,而不是正常输出。

  • npm pkg set 中,它允许在将设置值保存到 package.json 之前使用 JSON.parse() 解析设置值。

并非所有 npm 命令都支持。

工作区

  • 默认
  • 类型:字符串(可以多次设置)

启用在当前项目的配置工作区上下文中运行命令,同时通过仅运行此配置选项定义的工作区来过滤。

对于 workspace 配置的有效值是

  • 工作区名称
  • 工作区目录的路径
  • 父工作区目录的路径(将导致选择该文件夹中的所有工作区)

当为 npm init 命令设置时,可以将其设置为尚未存在的工作区文件夹,以创建该文件夹并将其设置为项目中的一个全新的工作区。

此值不会导出到子进程的环境中。

另请参阅