我下午的大部分时间都花在处理纱线版本控制上。
所以事情是这样的:Yarn 过去是通过 npm i -g Yarn 或诸如 brew 或 choco 之类的工具在全球范围内安装的。您从事的每个项目都会使用该全局安装来管理依赖项,并且通常会安装版本 1,也称为“经典”。还有可怕的 1.22.1(至少对我来说)。
问题是,如果您在版本 1 分支中更新了纱线,旧项目可能会因为兼容性问题而中断。另外,我又花了一个下午处理另一个项目。那些本来可以更好地喝咖啡度过的下午。 ☕️
输入“Modern yarn”——从版本 2 开始,现在是版本 4。这个版本的最酷之处在于它是通过 Corepack(处理不同版本的 Node 工具)按项目安装的。这意味着每个项目都可以使用自己的纱线版本,这对于避免兼容性问题非常有用。但要实现此功能,您必须全局卸载yarn并使用Corepack重新安装它。
有关 Corepack 的更多信息请参见此处。
以下是如何逐步去除经典纱线:
步骤1️⃣:
卸载 Classic Yarn
注意:根据最初安装的方式卸载yarn:
在装有 Homebrew 的 macOS 上:
$ 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?
如果您还没有安装它:
$ npm install corepack --global
启用 Corepack
$ corepack enable
现在,在您的项目(文件夹)中使用现代 Yarn:
$ cd projects/my-project # choose your path $ yarn set version stable $ yarn install
切换项目
如果您想将项目迁移到现代纱线,请尝试以下操作:
$ cd projects/my-project # choose your path $ yarn set version stable
或通过核心包:
$ 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,上面的描述是从其中复制的。
以上是如何在不失去理智的情况下从经典纱线迁移到'现代纱线”的详细内容。更多信息请关注PHP中文网其他相关文章!