阅读(2358) (9)

npm 删除 prune

2021-09-06 15:40:51 更新

移除无关的包

概要

npm prune [[<@scope>/]<pkg>...] [--production] [--dry-run] [--json]

描述

此命令移除“无关”的包。如果提供了包名,那么只有名称匹配的那个包才会被移除。

无关的包指的是没有在父包的依赖关系列表中列出的包。

如果指定了 --production 参数,或者将 NODE_ENV 环境变量 设置为 production,这个命令将移除 devDependencies 配置信息中列出的包。设置 --no-production 将会取消 NODE_ENV 为 production 的设置。

如果使用--dry-run标志,则实际上不会进行任何更改。

如果使用--json标志,则npm prune所做的更改(或将使用--dry-run进行的更改)将打印为 JSON 对象。

在启用包锁的正常操作中,安装模块时会自动修剪无关的模块,你只需要此带有--production标志的命令。

如果你禁用了包锁,则不会删除无关的模块,你可以不时地运行npm prune以删除它们。

配置

omit 忽略

  • 默认值:如果NODE_ENV环境变量设置为 production,则为dev,否则为null
  • 类型:devoptionalpeer(可多次设置)

要从磁盘上的安装树中省略的依赖项类型。

请注意,这些依赖的仍然解决,加入 package-lock.jsonnpm-shrinkwrap.json文件。它们只是没有物理安装在磁盘上。

如果包类型同时出现在--include--omit列表中,则它将被包含在内。

如果生成的省略列表包含'dev',则NODE_ENV环境变量将被设置'production'为所有生命周期脚本。

dry-run 试运行

  • 默认值:false
  • 类型:Boolean

表示您不希望 npm 进行任何更改并且它应该只报告它会做的事情。这可以被传递到任何修改本地安装,例如,命令的installupdate, dedupeuninstall,以及packpublish

注意:这不是由其他网络相关的命令,如兑现dist-tags, owner等等。

json

  • 默认值:false
  • 类型:Boolean

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

npm pkg set它允许在将设置值保存到您的package.json.并非所有 npm 命令都支持。

workspace 工作区

  • 默认:
  • 类型:String(可多次设置)

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

workspace配置的有效值为:

  • 工作区名称
  • 工作区目录的路径
  • 父工作区目录的路径(将导致选择所有嵌套工作区)

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

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

workspaces 工作区

  • 默认值:false
  • 类型:Boolean

启用在所有已配置工作区的上下文中运行命令。

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