我该如何版本化所有依赖项?

tut*_*uca 3 javascript dependency-management yarnpkg

拥有的yarn outdated内容相当丰富,但我希望避免每次打包都要遍历软件包yarn upgrade

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

是否有一些命令或参数会破坏我的所有依赖关系?

如果不是,是否以某种方式阻止了这种做法?

Pau*_*erg 19

为 Yarn v2 及以上版本的用户解答。

导入interactive-tools插件:

$ yarn plugin import interactive-tools
Run Code Online (Sandbox Code Playgroud)

并像这样运行它:

$ yarn upgrade-interactive
Run Code Online (Sandbox Code Playgroud)

请注意,这也会修改您的package.json.

  • 2022 年的正确答案,包括 Yarn v3 (3认同)

小智 18

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

yarn upgrade --latest
Run Code Online (Sandbox Code Playgroud)


Bru*_*mos 8

如果您的依赖项使用范围版本("^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.lock和 都package.json将反映确切的最新版本。


Nux*_*Nux 8

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

  • 注意:在使用“upgrade-interactive”之前,您需要通过运行以下命令导入“yarn”的“interactive-tools”插件:“yarn plugin import Interactive-tools”。 (5认同)

bra*_*aza 7

您可以使用yarn upgradeargs 将包更新为package.json中指定的最新版本。

这取自docs

yarn upgrade

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

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

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

$ yarn global add npm-check-updates
$ npm-check-updates -u
$ yarn upgrade
Run Code Online (Sandbox Code Playgroud)

  • 您是否尝试过“yarn Upgrade --latest”命令?根据文档,据我了解,它也会更新 package.json 。 (3认同)