npm 分发标签 dist-tag
修改包分发标签
概要
npm dist-tag add <pkg>@<version> [<tag>]
npm dist-tag rm <pkg> <tag>
npm dist-tag ls [<pkg>]
aliases: dist-tags
描述
在包上添加、删除和枚举分发标签:
add
:使用指定的标签标记指定版本的包,如果未指定,则使用--tag
配置。如果你对auth-and-writes
进行两因素身份验证,那么你需要在命令行中使用--otp <one-time password>
,或者在otp
提示符下包含一次性密码。rm
:从包中清除不再使用的标记。如果对auth-and-writes
进行双因素身份验证,则需要在命令行使用--otp<one-time password>
,或者在otp
提示符下包含一次性密码。ls
:显示一个包的所有dist-tags
,默认为当前前缀中的包。如果没有指定任何操作,则这是默认操作。
安装包时可以使用标签作为对版本的引用,而不是使用特定的版本号:
npm install <name>@<tag>
安装依赖项时,可以指定首选的标记版本:
npm install --tag <tag>
这也适用于npm dedupe
.
latest
除非使用该--tag
选项,否则发布包会将标记设置为已发布版本 。例如,npm publish --tag=beta
。
默认情况下,npm install <pkg>
(不带任何@<version>
或@<tag>
说明符)安装latest
标签。
目的
标签可用于提供别名而不是版本号。
例如,一个项目可能会选择有多发展的多个数据流,并为每个数据流使用不同的标签,如stable
,beta
,dev
,canary
。通常,项目仅对latest
稳定发布版本使用该 标签,而对不稳定版本(例如预发布)使用其他标签。
next
某些项目使用该标签来标识即将发布的版本。
除了latest
,没有任何标签对 npm 本身有任何特殊意义
默认情况下,latest npm
使用该标签来标识包的当前版本,并且 npm install<pkg>
(不带任何 @<version>
或@<tag>
说明符)安装该lastest
标签。
注意事项
这个命令过去被称为npm tag
,它只创建新标签,因此有不同的语法。
标签必须与版本号共享一个命名空间,因为它们在同一个槽中指定:npm install <pkg>@<version>
vs npm install <pkg>@<tag>
。
可以解释为有效 semver 范围的标签将被拒绝。例如,v1.4
不能用作标签,因为它被 semver 解释为 >=1.4.0 <1.5.0
. 请参阅 https://github.com/npm/npm/issues/6082。
避免标签出现 semver 问题的最简单方法是使用不以数字或字母开头的标签v
。
配置
workspace 工作区
- 默认:
- 类型:
String
(可多次设置)
允许在当前项目的已配置工作区的上下文中运行命令,同时通过仅运行此配置选项定义的工作区进行过滤。
workspace
配置的有效值为:
- 工作区名称
- 工作区目录的路径
- 父工作区目录的路径(将导致选择所有嵌套工作区)
为该npm init
命令设置时,可以将其设置为尚不存在的工作区的文件夹,以创建该文件夹并将其设置为项目中的全新工作区。
此值不会导出到子进程的环境中。
workspaces 工作区
- 默认值:
false
- 类型:
Boolean
启用在所有已配置工作区的上下文中运行命令。
此值不会导出到子进程的环境中。