返回顶部
本页目录

yarn up

升级整个项目的依赖关系

语法

                            
  • yarn up ...

实例

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

                            
  • yarn up lodash

将所有 lodash 实例升级到最新版本,但要求对每个实例进行确认:

                            
  • yarn up lodash -i

lodash 的所有实例升级到 1.2.3

                            
  • yarn up lodash@1.2.3

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

                            
  • yarn up '@babel/*'

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

                            
  • yarn up '*jest*'

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

                            
  • yarn up '@babel/*@7.0.0'

选项

-i,--interactive
根据检测到的升级路径,提供各种选择
-F,--fixed
按原样存储依赖项标签而不是解析它们
-E,--exact
不要在已解决的范围内使用任何semver修改器
-T,--tilde
在解析范围上使用 ~semver 修饰符
-C,--caret
在解析范围上使用 ^semver 修饰符
-R,--recursive
再次解决这些包裹的所有决议
--mode #0
改变安装时产生的人工制品

细节

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

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

如果 -i,--interactive 被设置(或者如果 preferInteractive 设置被打开)该命令将提供各种选择,具体取决于检测到的升级路径。某些升级需要此标志以解决歧义。

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

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

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

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

通常,您可以将 yarn up 视为 Yarn1 中的 yarn upgrade --latest 的对应物(即它忽略之前在清单中列出的范围),但与仅升级当前工作区中的依赖项的 yarn upgrade 不同, yarn up 将升级所有工作区同时进行。

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

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