让yarn outdated
提供相当丰富的信息,但我希望避免在执行yarn upgrade
包裹的情况下运行。
根据yarn的文档,只有yarn upgrade
没有参数据说会升级所有依赖项,但我的项目package.json
和{{1}没有变化}显示与之前相同的软件包版本。
是否有一些命令或参数只会破坏我的所有依赖关系?
如果没有,这种做法是否会以某种方式阻止?
答案 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
:
package.json
)"x.x.x"
以更新yarn
yarn.lock
并选择要升级的所有依赖项现在,您的yarn upgrade-interactive
和yarn.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键即可更新。