拥有yarn outdated的信息量很大,但我想避免一个包一个包的运行yarn upgrade。
从 yarn 的文档中,yarn upgrade据说只是不带参数升级所有依赖项,但我的项目没有变化,package.json并且yarn outdated显示的包版本与以前相同。
是否有一些命令或参数会影响我的所有依赖项?
如果不是,是否以某种方式不鼓励这种做法?
拥有yarn outdated的信息量很大,但我想避免一个包一个包的运行yarn upgrade。
从 yarn 的文档中,yarn upgrade据说只是不带参数升级所有依赖项,但我的项目没有变化,package.json并且yarn outdated显示的包版本与以前相同。
是否有一些命令或参数会影响我的所有依赖项?
如果不是,是否以某种方式不鼓励这种做法?
将所有软件包升级到最新版本
yarn upgrade --latest
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
只需运行yarn upgrade-interactive --latest并使用空格按钮选择要更新的软件包,然后按 Enter 进行更新。
如果您的依赖项使用范围版本("^x.x.x","~x.x.x"等),package.json如果最新版本也匹配该范围,则不会更新您的,只有您的yarn.lock.
如果您希望package.json更新:
"x.x.x")yarn以更新yarn.lockyarn upgrade-interactive并选择要升级的所有依赖项现在您的yarn.lock和package.json将反映确切的最新版本。
回答 yarn v2 用户。
interactive-tools如果您还没有,请导入插件:
$ yarn plugin import interactive-tools
并运行它:
$ yarn upgrade-interactive
注意:这也会修改你的package.json.