如何轻松从传统主流过渡到“现代主流”
我花了整个下午的时间来处理 yarn 版本控制。
情况是这样的:Yarn 过去是通过 `npm i -g yarn` 或 brew 或 choco 等工具全局安装的。您从事的每个项目都会使用该全局安装来管理依赖项,并且通常会安装版本 1,也称为“经典”。还有可怕的 1.22.1(至少对我来说)。
问题是,如果你在版本 1 分支中更新了 yarn,旧项目可能会因为兼容性问题而中断。此外,我还要再花一个下午的时间处理另一个项目。这些下午本可以用来喝咖啡。☕️
进入“现代 yarn”——从版本 2 开始,现在是版本 4。此版本最酷的地方在于它通过 Corepack(处理不同版本的 Node 工具)按项目安装。这意味着每个项目都可以使用自己的 yarn 版本,这对于避免兼容性问题非常有用。但要使其正常工作,您必须全局卸载 yarn 并使用 Corepack 重新安装它。
更多关于 Corepack 的信息请见此处。
以下是如何分步去除经典纱线:
**步骤** 1️⃣:
卸载 Classic Yarn
注意:根据最初安装的方式卸载 yarn:
在 macOS 上使用 Homebrew:
$ brew uninstall yarn
如果是通过 npm 安装的:
$ npm remove yarn --global
步骤 2️⃣:检查卸载👀
$ yarn --version
正确卸载后您应该得到类似的结果。

如果卸载后仍然获得以前的版本,请尝试以下操作:
# On Mac: $ which yarn # On Win: $ where yarn # which/where will tell you, if and where yarn is installed. You get paths. Remove them! $ rm -rf /usr/local/bin/yarn # use the path from before $ rm -rf /usr/local/bin/yarnpkg # use the path from before
步骤3️⃣:核心包👀
安装并启用 corepack
现在安装 Corepack,如果您的机器上没有它。由于它仍然是专家级的,因此稍后启用它。
如何检查您是否拥有 Corepack?

如果你还没有安装它那么:
$ npm install corepack --global
启用 Corepack
$ corepack enable
现在,在您的项目(文件夹)中使用现代 Yarn:
$ cd projects/my-project # choose your path $ yarn set version stable $ yarn install
切换项目
如果您想将项目迁移到现代 yarn,请尝试以下操作:
$ cd projects/my-project # choose your path $ yarn set version stable
或者通过 corepack:
$ corepack use yarn@latest
如果您愿意,您甚至可以全局安装新版本的“Modern yarn”:
$ corepack install --global yarn@latest
就我个人而言,完成所有这些操作后,我仍然遇到问题🤯(版本仍为 1.22.1)。以下是对我有用的方法:

**但是 Yarn Berry 是什么?**
Yarn Berry 是一个 Node.js 的包管理系统,由 Yarn v1 的主要开发者 Mäl Nison 创建。正式版本 (v2) 已于 2020 年 1 月 25 日发布,目前已被 Babel 等大型开源存储库采用。Yarn Berry 由 GitHub 存储库中的源代码管理。
这是@solleedata 的一篇帖子,更详细地解释了 Yarn Berry,上面的描述就是从中复制而来的。