yarn tag

增加、删除或列出一个包的标签。

什么是标签?

发布标签(或 dist-tags)是一种把已发布版本标记为一个标签的方法。你的包的用户可以用这个标签代替版本号来安装。

例如,如果你有一个 stable 发版通道和一个 canary 发版通道,你可以把标签作为一种方式允许用户这样输入:

yarn add your-package-name@stable
yarn add your-package-name@canary

不同标签有不同的含义:

  • latest: 包的当前版本
  • stable: 包的最新稳定版本,通常和和 latest 版本相同,除非你有长期支持版本(LTS)
  • beta: 成为 latest 或 stable 前的版本,用在即将到来的变更完成前分享。
  • canary: 晚间构建或 beta 预发布版本,如果你的项目频繁更新并被很多人依赖,你可以用这个来尽早分享代码。
  • dev: 有时你想尽可能通过注册表测试一个你还在处理的修订版,这很有用。

有些项目会创造他们看着合适或者替代更标准标签的自有标签。比如用 next 等同 beta

虽然这些是公认的“标准”标签,唯一有实际意义的是 latest,当没有指定版本时用来确定安装哪个版本。

注意事项

你不能用和潜在版本号匹配的标签,因为它们共享一个命名空间:

yarn add your-package-name@<version>
yarn add your-package-name@<tag>

任何可以作为有效语义版本范围的标签将会被拒绝。比如,你不能有一个名叫 v2.3 的标签,因为在语义版本里它意味着 >=2.3.0 <2.4.0

一般情况下,避免使用看起来像版本号的标签,它们通常只会把人弄糊涂。

命令

yarn tag add <package>@<version> <tag>

为一个 <package> 的指定 <version> 添加一个名为 <tag> 的标签。

yarn tag rm <package> <tag>

<package> 里删除一个不再使用的名叫 <tag> 的标签。

注意: 你在包里移动一个标签到另一个版本前不需要删除它,不删更好。

yarn tag list [<package>]

列出 <package> 的所有标签。如果没有指定,<package> 默认为你当前所在目录。