32

拥有yarn outdated的信息量很大,但我想避免一个包一个包的运行yarn upgrade

从 yarn 的文档中,yarn upgrade据说只是不带参数升级所有依赖项,但我的项目没有变化,package.json并且yarn outdated显示的包版本与以前相同。

是否有一些命令或参数会影响我的所有依赖项?

如果不是,是否以某种方式不鼓励这种做法?

4

6 回答 6

48

将所有软件包升级到最新版本

yarn upgrade --latest
于 2021-02-14T09:49:10.077 回答
40

yarn upgrade您可以使用不带任何参数的方式将您的包更新到 package.json 中指定的最新版本。

这取自文档

yarn upgrade

此命令根据 package.json 文件中指定的版本范围将所有依赖项更新为其最新版本。yarn.lock 文件也将被重新创建。

这将只更新允许在 package.json 中升级的包,例如使用^(例如,如果它存在^0.13.0,将更新到版本)。0.14.0这不会更新您的 package.json 文件,但会更新 yarn.lock。

如果您想将依赖项更新到最新版本,您可以使用npm-check-updates将更新您的 package.json 的包:

$ yarn global add npm-check-updates
$ npm-check-updates -u
$ yarn upgrade
于 2016-12-18T21:54:37.327 回答
22

只需运行yarn upgrade-interactive --latest并使用空格按钮选择要更新的软件包,然后按 Enter 进行更新。

于 2020-11-23T09:26:33.513 回答
4

如果您的依赖项使用范围版本("^x.x.x","~x.x.x"等),package.json如果最新版本也匹配该范围,则不会更新您的,只有您的yarn.lock.

如果您希望package.json更新:

  1. 将所有依赖项更改为固定版本 ( "x.x.x")
  2. 运行yarn以更新yarn.lock
  3. 运行yarn upgrade-interactive并选择要升级的所有依赖项

现在您的yarn.lockpackage.json将反映确切的最新版本。

于 2020-06-20T17:41:28.603 回答
1

回答 yarn v2 用户。

interactive-tools如果您还没有,请导入插件:

$ yarn plugin import interactive-tools

并运行它:

$ yarn upgrade-interactive

注意:这也会修改你的package.json.

于 2021-05-19T13:06:29.200 回答
0

我总是遵循它的官方文档:)

yarn add --dev yarn-upgrade-all

来源:https ://yarnpkg.com/package/yarn-upgrade-all

于 2021-08-28T22:02:24.247 回答