跳至主要内容

yarn up

升级项目中的依赖项。

用法

$ yarn up ...

示例

将 lodash 的所有实例升级到最新版本

yarn up lodash

将 lodash 的所有实例升级到最新版本,但请确认每个实例

yarn up lodash -i

将 lodash 的所有实例升级到 1.2.3

将范围为 @babel 的所有包实例升级到最新版本

yarn up @babel/*

将包含单词 jest 的所有包实例升级到最新版本

yarn up *jest*

将范围为 @babel 的所有包实例升级到 7.0.0

yarn up @babel/*@7.0.0

详细信息

此命令将与指定模式列表匹配的包升级到整个项目中可用的最新版本(无论它们是否是 依赖项devDependencies - peerDependencies 不会受到影响)。这是一条项目范围的命令:在此过程中,所有工作区都将得到升级。

如果设置了 -R,--recursive,则该命令将更改行为,并且不允许使用其他开关。在此模式下操作时,yarn up 将强制重新解析与所选包匹配的所有范围(通常是最高可用版本),然后再将其存储在锁定文件中。但是,它不会再触及您的清单,因此,根据您的需要,您可能需要同时运行 yarn upyarn up -R 以涵盖所有基础。

如果设置了 -i,--interactive(或如果 preferInteractive 设置已切换为开启),该命令将根据检测到的升级路径提供各种选择。某些升级需要此标志才能解决歧义。

-C,--caret-E,--exact-T,--tilde 选项的含义与 add 命令中的含义相同(它们更改了在缺少范围或标签时使用的修饰符,并且在明确设置范围时被忽略)。

如果设置了 --mode=<mode> 选项,Yarn 将更改生成哪些工件。当前支持的模式为

  • skip-build 根本不会运行构建脚本。请注意,这与将 enableScripts 设置为 false 不同,因为后者会禁用构建脚本,从而影响磁盘上生成的工件的内容,而前者只会禁用构建步骤,但不会禁用脚本本身,只是不会运行脚本。

  • update-lockfile 将完全跳过链接步骤,并且仅获取锁定文件中缺少的包(或没有关联校验和的包)。此模式通常由 Renovate 或 Dependabot 等工具使用,以在不产生全部安装成本的情况下使锁定文件保持最新。

通常,你可以将 yarn up 视为 Yarn 1 中 yarn upgrade --latest 的对应项(即它会忽略先前在清单中列出的范围),但与 yarn upgrade 不同,后者只升级当前工作空间中的依赖项,yarn up 将同时升级所有工作空间。

此命令接受 glob 模式作为参数(如果有效描述符和 micromatch 支持)。确保转义模式,以防止你自己的 shell 尝试扩展它们。

注意:范围必须是静态的,只有包范围和名称可以包含 glob 模式。

选项

定义描述

-i,--interactive

提供各种选择,具体取决于检测到的升级路径

-F,--fixed

按原样存储依赖项标记,而不是解析它们

-E,--exact

在解析的范围内不使用任何 semver 修饰符

-T,--tilde

在解析的范围内使用 ~ semver 修饰符

-C,--caret

在解析的范围内使用 ^ semver 修饰符

-R,--recursive

再次解析这些软件包的所有解析

--mode #0

更改安装生成的内容