如何更新 Yarn 中的全局包?
How can I update global packages in Yarn?
我尝试了一些可能的 CLI 命令,但 none 似乎实际上更新了使用 yarn global add
安装的软件包。
yarn global upgrade
& yarn upgrade global
都不能正常工作。有没有办法升级全局包?
上为此创建了一个问题
使用 yarn global add <package>@latest
将升级特定的包,如果这是您想要做的。
更新
最近添加的yarn global upgrade
升级了所有包。这在原始答案时不存在。
长话短说:
作为 ,您只需:
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 upgrade
请注意,根据 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
是否 将当前安装的版本升级到最新版本,即使当前安装的版本与最新版本。
我相信 yarn global upgrade-interactive
也能让人升级过去的主要版本。
我在尝试升级时遇到错误。安装 yarn 2.
后开始出现这种情况
我试图通过以下方式升级全局安装的 yarn 包:
yarn global upgrade
显然 yarn global
已经 replaced with yarn dlx
, however yarn dlx
does not do the same 变成了 yarn global
。多么混乱:/.
我的诀窍是通过以下方式暂时降级我的安装:
yarn set version classic
现在我可以运行升级命令了。
之后,我又更新了:
yarn set version berry
我尝试了一些可能的 CLI 命令,但 none 似乎实际上更新了使用 yarn global add
安装的软件包。
yarn global upgrade
& yarn upgrade global
都不能正常工作。有没有办法升级全局包?
使用 yarn global add <package>@latest
将升级特定的包,如果这是您想要做的。
更新
最近添加的yarn global upgrade
升级了所有包。这在原始答案时不存在。
长话短说:
作为
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 upgrade
请注意,根据 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
是否 将当前安装的版本升级到最新版本,即使当前安装的版本与最新版本。
我相信 yarn global upgrade-interactive
也能让人升级过去的主要版本。
我在尝试升级时遇到错误。安装 yarn 2.
后开始出现这种情况我试图通过以下方式升级全局安装的 yarn 包:
yarn global upgrade
显然 yarn global
已经 replaced with yarn dlx
, however yarn dlx
does not do the same 变成了 yarn global
。多么混乱:/.
我的诀窍是通过以下方式暂时降级我的安装:
yarn set version classic
现在我可以运行升级命令了。
之后,我又更新了:
yarn set version berry