yarn upgrade
根据指定范围将软件包升级至最新版本。
yarn upgrade [package | package@tag | package@version | --scope @scope]... [--ignore-engines] [--pattern]
此命令根据 package.json
文件中指定的版本范围将依赖项更新到相应最新版本。同时,还将重新创建 yarn.lock
文件。
此外,还可以指定一个或多个软件包名称。如果指定了软件包名称,则仅升级这些软件包。如果未指定软件包名称,则升级所有依赖项。
[package]
:当指定软件包仅是一个名称时,则将把此软件包的匹配最新版本升级到该版本。
[package@tag]
:当指定软件包包含标记时,则升级指定的标记。标记名称由项目维护者选择,通常使用此命令安装活动开发软件包的实验版本或长期支持版本。所选标记将成为显示在 package.json
文件中的版本。
[package@version]
:当指定软件包包含版本时,升级指定的版本。在 package.json
中,依赖项引用也将更改为与指定版本匹配。可以使用任何 语义版本控制 版本号或范围。
--ignore-engines
:此标志可用于跳过引擎检查。
示例
yarn upgrade
yarn upgrade left-pad
yarn upgrade left-pad@^1.0.0
yarn upgrade left-pad grunt
yarn upgrade @angular
yarn upgrade --pattern <pattern>
将升级与该模式匹配的所有软件包。
示例
yarn upgrade --pattern gulp
yarn upgrade left-pad --pattern "gulp|grunt"
yarn upgrade --latest --pattern "gulp-(match|newer)"
yarn upgrade [package]... --latest|-L [--caret | --tilde | --exact] [--pattern]
upgrade --latest
命令升级软件包的方式与 upgrade
命令相同,但忽略了 package.json
文件中指定的版本范围。而将使用 latest
标记指定的版本(可能会将软件包跨主要版本升级)。
package.json
文件将被更新以反映最新的版本范围。默认情况下,如果 package.json
中现有的范围说明符为 ^、~、<=、> 或精确版本之一,则会重新使用它。否则,它将被更改为插入符号 (^)。其中一个标志 --caret
、--tilde
或 --exact
可用于明确指定范围。
示例
yarn upgrade --latest
yarn upgrade left-pad --latest
yarn upgrade left-pad grunt --latest --tilde
yarn upgrade (--scope|-S) @scope [--latest] [--pattern]
--scope @scope
:指定范围时,只会升级以该范围开头的包。范围必须以“@”开头。
--latest
:忽略 package.json
中指定的版本范围。取而代之的是,将使用 latest
标记指定的版本(可能会对多个主要版本进行包升级)。
示例
yarn upgrade --scope @angular
yarn upgrade -S @angular