如何在同一台机器上安装 Yarn v1 和 Yarn v2 以便它们可以在项目之间互换使用?

How to install Yarn v1 and Yarn v2 on the same machine so they can be used interchangelby between projects?

我是 运行 几个使用 Yarn v1 的项目,但出于多种原因(CI 是其中之一)不会很快升级到 Yarn v2。但是,我想在新项目中使用 Yarn v2。

有没有一种合理的方法可以将 Yarn v1 和 Yarn v2 安装在一台机器上,以便它们可以在项目之间互换使用?

我们建议使用 Yarn 1 作为全局,以避免可能的向后兼容性问题(例如,以后的版本重命名了一些选项和设置)。然后你有两个选择:

  • 您可以在每个项目的基础上使用 yarn policies set-version berry;它将安装最新的 Yarn 版本 .yarn/releases 文件夹,然后您可以将其添加到您的存储库中。 Docs for yarn policies.

  • 或者您可以将 "packageManager": "yarn@3.2.0" 字段添加到 package.json 文件和 运行 corepack enable。这将使用 Corepack 工具来设置您的系统,这样任何 yarn 命令都将使用您为活动项目配置的确切版本。

这可以将风险降到最低,并允许您在准备好时迁移。