阅读(27) (8)

npm 分发标签 dist-tag

2021-09-06 11:47:14 更新

修改包分发标签

概要

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

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

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