目录
npm-dist-tag
选择 CLI 版本
目录
概要
npm dist-tag add <package-spec (with version)> [<tag>]npm dist-tag rm <package-spec> <tag>npm dist-tag ls [<package-spec>]alias: dist-tags
描述
在包上添加、删除和枚举分发标签
-
add: 使用指定的标签标记包的指定版本,或者
--tag
配置(如果未指定)。如果你在 auth-and-writes 上启用了双因素身份验证,则需要在命令行中使用--otp <一次性密码>
包含一次性密码,或者根据你的authtype
经历二次验证流程。 -
rm: 从包中清除不再使用的标签。如果你在 auth-and-writes 上启用了双因素身份验证,则需要在命令行中使用
--otp <一次性密码>
包含一次性密码,或者根据你的authtype
经历二次验证流程。 -
ls: 显示包的所有分发标签,默认显示当前前缀中的包。如果没有指定任何操作,则为默认操作。
标签可以在安装包时用作版本引用,而不是使用特定的版本号。
npm install <name>@<tag>
在安装依赖项时,可以指定首选的带标签版本。
npm install --tag <tag>
(这也适用于任何其他解析和安装依赖项的命令,例如 npm dedupe
、npm update
和 npm audit fix
)。
发布包会将 latest
标签设置为发布的版本,除非使用 --tag
选项。例如,npm publish --tag=beta
。
默认情况下,npm install <pkg>
(不带任何 @<version>
或 @<tag>
指定符)会安装 latest
标签。
目的
标签可以用来提供别名,而不是版本号。
例如,一个项目可能选择拥有多个开发流,并为每个流使用不同的标签,例如 stable
、beta
、dev
、canary
。
默认情况下,npm 使用 latest
标签来识别包的当前版本,并且 npm install <pkg>
(不带任何 @<version>
或 @<tag>
指定符)会安装 latest
标签。通常,项目只对稳定发布版本使用 latest
标签,而对不稳定版本(如预发布版本)使用其他标签。
next
标签被一些项目用来识别即将发布的版本。
除了 latest
之外,没有哪个标签对 npm 本身有任何特殊意义。
注意事项
此命令以前称为 npm tag
,它只创建新标签,因此语法不同。
标签必须与版本号共享一个命名空间,因为它们是在同一个位置指定的:npm install <pkg>@<version>
与 npm install <pkg>@<tag>
。
可以解释为有效语义版本范围的标签将被拒绝。例如,v1.4
不能用作标签,因为它被语义版本解释为 >=1.4.0 <1.5.0
。请参阅 https://github.com/npm/npm/issues/6082。
避免标签的语义版本问题最简单的方法是使用不以数字或字母 v
开头的标签。
配置
工作区
- 默认
- 类型:字符串(可以设置多次)
在当前项目的配置工作区上下文中运行命令,并通过仅运行此配置选项定义的工作区进行过滤。
workspace
配置的有效值为:
- 工作区名称
- 工作区目录路径
- 父工作区目录路径(将选择该文件夹中的所有工作区)
在为 npm init
命令设置时,可以将其设置为尚未存在的工作区文件夹,以创建文件夹并将其设置为项目中的一个全新工作区。
此值不会导出到子进程的环境中。
工作区
- 默认:null
- 类型:null 或布尔值
设置为 true 以在**所有**配置工作区的上下文中运行命令。
显式将其设置为 false 会导致像 install
这样的命令完全忽略工作区。当未显式设置时
- 在
node_modules
树上操作的命令(安装、更新等)会将工作空间链接到node_modules
文件夹中。 - 其他操作的命令(测试、执行、发布等)将在根项目上执行,*除非* 在workspace
配置中指定了一个或多个工作空间。
此值不会导出到子进程的环境中。
include-workspace-root
- 默认值:false
- 类型:布尔值
在为命令启用工作空间时,包含工作空间根目录。
当值为 false 时,通过 workspace
配置指定单个工作空间,或通过 workspaces
标志指定所有工作空间,会导致 npm 仅在指定的工作空间上操作,而不在根项目上操作。
此值不会导出到子进程的环境中。