无废话,直接干,一篇短篇教你利用Corepack安装Yarn~

你们好,我是金金金。

场景

当然是因为项目需要啦 哈哈哈~

package.json 文件中,字段 "packageManager": "yarn@1.22.22" 。这个字段的作用是指定项目推荐使用的包管理器及其版本

了解Corepack

Corepack 在 Node.js 16.9.0 版本中被引入,作为连接不同包管理器的实验性工具。它提供了一种方式,让用户可以直接通过 Node.js 安装和管理 Yarn 和 pnpm 等包管理器,而无需单独安装它们。这使得项目可以更容易地强制使用特定的包管理器版本,而不需要开发人员手动安装它。然而,尽管它具有潜力,Corepack 还是面临了几个障碍。许多开发人员不知道它的存在或误解了它的目的,导致采用困难。此外,它与 Node.js 分发的集成受到质疑,因为包管理器通常独立于运行时运行。(之后可能移除 需要单独安装)

Corepack 的 Shim 目录

  • corepack 提供了一个 shim(代理脚本)机制。当 Corepack 被启用时,它会在 C:\Program Files\nodejs\node_modules\corepack\shims 目录下生成一些代理脚本。这些脚本负责将你的命令(比如 yarnpnpm)转发给 Corepack 处理。

  • Shim 文件 :对于 yarn 来说,shims 目录里有一个 yarnyarn.cmd 文件。这些文件实际上是简单的脚本,它们的作用是在你运行 yarn 命令时,调用 Corepack 来决定使用哪个版本的 Yarn,并确保那个版本已经安装好。

Corepack 的作用是什么?

  • 它提供了自动下载和管理不同包管理器(如 Yarn、pnpm)的功能,并通过 shim 文件提供统一的入口点,使得开发者无需手动全局安装这些工具

安装Yarn

cmd 复制代码
yarn -v

此时我们需要解决,从信息可以得知:不是内部命令,找不到yarn这个命令,因为没有配置环境变量所以找不到,也识别不了这个yarn命令
解释: 我们需要设置环境变量,在系统path变量当中加入C:\Program Files\nodejs\node_modules\corepack\shims; 就可以识别出 yarn命令了

为什么需要添加到 PATH

  • 由于 yarn 实际上是由 Corepack 的 shim 脚本处理的,如果你不把 corepackshims 目录添加到 PATH 中,那么当你在命令行中输入 yarn 时,系统不会知道去哪里找这个命令。因此,你需要告诉系统:"嘿,如果我输入 yarn,请去 C:\Program Files\nodejs\node_modules\corepack\shims 这个目录下找。

测试

  • 此时我们输入 yarn -v

  • 会提示让安装,安装即可。再次测试~ 如下图就是success了~

这样就是成功啦

  • 编写有误还请大佬指正,万分感谢。
相关推荐
libraG5 小时前
Jenkins打包问题
前端·npm·jenkins
人工智能训练师2 天前
Ubuntu22.04如何安装新版本的Node.js和npm
linux·运维·前端·人工智能·ubuntu·npm·node.js
Seveny072 天前
pnpm相对于npm,yarn的优势
前端·npm·node.js
huangql5202 天前
npm 发布流程——从创建组件到发布到 npm 仓库
前端·npm·node.js
Dobby_052 天前
【Hadoop】Yarn:Hadoop 生态的资源操作系统
大数据·hadoop·分布式·yarn
风若飞3 天前
npm ERR! code CERT_HAS_EXPIRED
前端·npm·node.js
csdn_aspnet3 天前
Windows、Linux 系统 nodejs 和 npm 版本更新及错误修复
linux·windows·npm·node.js
北城笑笑3 天前
NodeJS 8 ,从 0 到 1:npm 包发布与更新全流程指南( 含多场景适配与踩坑总结 )
前端·npm·node.js·github
码码哈哈0.03 天前
npm : 无法加载文件 C:\Program Files\nodejs\npm.ps1,因为在此系统上禁止运行脚
前端·npm·node.js
阿智@114 天前
推荐使用 pnpm 而不是 npm
前端·arcgis·npm