我怎样才能破坏所有依赖项?

时间:2016-12-12 14:44:01

标签: javascript dependency-management yarnpkg

yarn outdated提供相当丰富的信息,但我希望避免在执行yarn upgrade包裹的情况下运行。

根据yarn的文档,只有yarn upgrade没有参数据说会升级所有依赖项,但我的项目package.json和{{1}没有变化}显示与之前相同的软件包版本。

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

如果没有,这种做法是否会以某种方式阻止?

5 个答案:

答案 0 :(得分:13)

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

yarn upgrade --latest

答案 1 :(得分:5)

您可以使用yarn upgrade将包更新到package.json中指定的最新版本,而无需任何参数。

这取自docs

  

yarn upgrade

     

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

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

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

$ yarn global add npm-check-updates
$ npm-check-updates -u
$ yarn upgrade

答案 2 :(得分:1)

如果您的依赖项使用的是范围版本("^x.x.x""~x.x.x"等),则您的package.json不会被更新(如果最新版本也符合该范围),只有您的{ {1}}。

如果您希望更新yarn.lock

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

现在,您的yarn upgrade-interactiveyarn.lock都将反映确切的最新版本。

答案 3 :(得分:1)

回答 yarn v2 用户。

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

$ yarn plugin import interactive-tools

并运行它:

$ yarn upgrade-interactive

注意:这也会修改您的 package.json 中的 semvers。

答案 4 :(得分:0)

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