75

我尝试了一些可能的 CLI 命令,但似乎都没有真正更新使用yarn global add.

yarn global upgrade&yarn upgrade global两者都不能正常工作。有没有办法升级全局包?

4

6 回答 6

90

TL;博士:

正如webjay 所说,您只需:

yarn global upgrade

yarn1.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)
于 2017-10-08T05:55:12.733 回答
39

如果您正在尝试这样做,使用yarn global add <package>@latest将升级特定的软件包。

更新

最近添加的yarn global upgrade升级所有软件包。这在原始答案时不存在。

于 2016-11-03T05:10:08.783 回答
6

在https://github.com/yarnpkg/yarn/issues/776已经为此创建了一个问题

于 2016-10-13T08:51:48.543 回答
6

请注意,每个yarnpkg /yarn #5001yarn global upgrade foo并不总是将软件包升级到最新版本,即使带有--latest标志也是如此。

例如,如果您foo安装了 v12.0.1 并且 v13.0.0 可用,则不会升级到 v13.0.0,因为yarn global upgrade目前默认情况下不会超过 semver 中的主要障碍(有关更多信息,请参见上述问题中的讨论)。

即使当前安装的版本和最新版本之间存在 semver 主要版本冲突,运行也会将当前安装的版本升级到最新yarn global add foo 版本

我相信这yarn global upgrade-interactive也将允许一个人升级过去的主要版本颠簸。

于 2019-01-13T00:28:36.373 回答
3

我在用yarn global upgrade

于 2017-10-30T19:20:14.047 回答
0

尝试升级时出现错误。这在安装yarn 2后开始发生。

我试图通过以下方式升级我全局安装的纱线包:

yarn global upgrade

显然yarn global已被替换yarn dlx,但是yarn dlx 与 不做同样的事情yarn global。多么令人困惑:/。

对我来说,诀窍是通过以下方式暂时降级我的安装:

yarn set version classic

现在我可以运行升级命令了。

之后,我再次通过以下方式更新:

yarn set version berry
于 2020-07-18T20:36:46.667 回答