# npm pack

从包中创建一个 tarball

# 概要

npm pack <package-spec>

# 描述

对于任何可安装的文件(即包文件夹、tarball、tarball url、git url、name@tag、name@version、name 或作用域名称),此命令将其获取到缓存中,将 tarball 文件以 <name>-<version>.tgz 的形式复制到当前工作目录,然后将文件名写入标准输出。

如果多次指定相同的包,则该文件将在第二次被覆盖。

如果没有提供参数,npm 就会打包当前的包文件夹。

# 配置

# dry-run

  • Default: false
  • Type: Boolean

表示您不希望 npm 进行任何更改,并且只报告它应该做的事情。这可以传递到任何修改本地安装的命令中,例如:install, update, dedupe, uninstall 以及 pack 和 publish。

注意

其他相关命令不支持此功能,例如 dist-tags, owner 等。

# json

  • Default: false
  • Type: Boolean

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

  • npm pkg set 支持使用 JSON.parse() 解析集合值,然后保存到你的 package.json

并非所有 npm 命令都支持。

# workspace

  • Default:
  • Type: String (可以设置多次)

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

workspace 配置的有效值如下:

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

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

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

# workspaces

  • Default: null
  • Type: null or Boolean

设置为 true 将在所有配置的工作区中运行该命令。

显式地将此设置为 false 将导致如下命令 install 完全忽略工作空间。当没有显式设置时:

  • node_modules 树上操作的命令 (install, update, etc.) 时,将把工作区链接到 node_modules 文件夹中。做其他事情的命令 (test, exec, publish, etc.) 将在根项目上操作,除非在 workspace 配置中指定了一个或多个工作空间。

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

# include-workspace-root

  • Default: false
  • Type: Boolean

当为某个命令启用工作区时,请包含工作区根目录。

当为 false 时,通过 workspace 配置指定单个工作空间,或通过 workspaces 标志指定所有工作空间,将导致 npm 仅在指定的工作空间上运行,而不是在根项目上运行。

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

Last Updated: 4/25/2023, 9:49:29 AM