Upgrades packages to their latest version based on the specified range.
yarn upgrade [package | package@tag | package@version | --scope @scope]... [--ignore-engines] [--pattern]
This command updates dependencies to their latest version based on theversion range specified in the package.json
file. The yarn.lock
file willbe recreated as well.
Optionally, one or more package names can be specified.When package names are specified, only those packages will be upgraded.When no package names are specified, all dependencies will be upgraded.
[package]
: When a specified package is only a name then the latest matching versionof this package will be upgraded to.
[package@tag]
: When a specified package contains a tag then the specified tag willbe upgraded to.Tag names are chosen by projectmaintainers, typically you use this command to install an experimental or longterm support release of an actively developed package. The tag you choose willbe the version that appears in your package.json
file.
[package@version]
: When a specified package contains a version then the specifiedversion will be upgraded to. The package.json
dependency reference will also be changedto match this specified version.You can use any SemVerversion number or range.
--ignore-engines
: This flag can be used to skip the engines check.
Examples:
yarn upgradeyarn upgrade left-padyarn upgrade left-pad@^1.0.0yarn upgrade left-pad gruntyarn upgrade @angular
yarn upgrade --pattern <pattern>
will upgrade all packages that match the pattern.
Examples:
yarn upgrade --pattern gulpyarn upgrade left-pad --pattern "gulp|grunt"yarn upgrade --latest --pattern "gulp-(match|newer)"
yarn upgrade [package]... --latest|-L [--caret | --tilde | --exact] [--pattern]
The upgrade --latest
command upgrades packages the same as the upgrade
command,but ignores the version range specified in package.json
.Instead, the version specified by the latest
tag will be used(potentially upgrading the packages across major versions).
The package.json
file will be updated to reflect the latest version range.By default, the existing range specifier in package.json
will be reused ifit is one of: ^, ~, <=, >, or an exact version.Otherwise, it will be changed to a caret (^).One of the flags --caret
, --tilde
or --exact
can be used to explicitlyspecify a range.
Examples:
yarn upgrade --latestyarn upgrade left-pad --latestyarn upgrade left-pad grunt --latest --tilde
yarn upgrade (--scope|-S) @scope [--latest] [--pattern]
--scope @scope
: When a scope is specified, only packages that begin with that scope will be upgraded. A scope must begin with ‘@’.
--latest
: Ignores the version range specified in package.json
.Instead, the version specified by the latest
tag will be used(potentially upgrading the packages across major versions).
Examples:
yarn upgrade --scope @angularyarn upgrade -S @angular