我尝试了一些可能的CLI命令,但似乎没有一个命令真正更新使用安装的软件包yarn global add
。
yarn global upgrade
&yarn upgrade global
两者均无法正常工作。有没有升级全局软件包的方法?
Answers:
正如webjay所说,您只需:
yarn global upgrade
从yarn
1.2.1版开始。
对于早期版本:
(cd ~/.config/yarn/global && yarn upgrade)
可悲的是,目前没有yarn global check
。
您可以运行yarn global add --force
以重新安装所有软件包。
对于check
全局软件包,您可以将其视为~/.config/yarn/global/
本地软件包,因为:
~/.config/yarn/global/package.json
具有所有全局软件包的依赖关系~/.config/yarn/global/node_modules
包含所有全局包。 检查所有全局软件包,并仅在发现错误时重新安装:
$ (cd ~/.config/yarn/global && yarn check || yarn install --force)
yarn global add <package>@latest
如果您要这样做,使用将升级特定的软件包。
更新资料
最近添加的yarn global upgrade
升级所有软件包。原始答案时不存在此功能。
yarn global add <package>
又yarn global upgrade <package>
可行(但问题是如何升级所有全局软件包,而不仅仅是其中一个)。
在https://github.com/yarnpkg/yarn/issues/776上已经为此创建了一个问题
请注意,即使是使用yarnpkg / yarn#5001,yarn global upgrade foo
也不总是将软件包升级到最新版本。--latest
标志。
例如,如果您安装了foo
v12.0.1且v13.0.0可用,则不会升级到v13.0.0,因为yarn global upgrade
默认情况下当前不会超出semver的主要限制(有关更多信息,请参见上述问题)。
跑步yarn global add foo
呢升级当前安装的版本到最新即使当前安装的版本和最新版本之间的semver主要版本肿块。
我相信这yarn global upgrade-interactive
也将允许升级过去的主要版本。