重要内容:本文档涵盖 Yarn 1(经典版)。
有关 Yarn 2+ 文档和迁移指南的信息,请参见yarnpkg包管理器网址。

yarn tag

添加、删除或列出软件包上的标签。

什么是标签?

发布标签(或 dist 标签)是一种用标签标记已发布包版本的方式。软件包的用户可以使用此标签,而无需使用版本号。

例如,如果您有一个稳定版本频道和一个金丝雀版本频道,则可以使用标签作为允许用户输入的一种方式

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

不同的标签含义也不同

  • latest:软件包的当前版本
  • stable:软件包的最新稳定版本,通常与 latest 相同,除非您具有长期支持 (LTS)
  • beta:发布之前或发布为最新和/或稳定版本之前,用于在完成前共享即将进行的更改。
  • 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 remove <package> <tag>

从未使用过的 <package> 中删除名为 <tag> 的标签。

注意:在将标签移到软件包中的另一个版本之前,无需删除它。最好不要这样做。

yarn tag list [<package>]

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