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 up
和 yarn 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 模式。