无废话,直接干,一篇短篇教你利用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了~

这样就是成功啦

  • 编写有误还请大佬指正,万分感谢。
相关推荐
孪生质数-1 小时前
Windows安装OpenClaw(Clawdbot)教程
ai·npm·skill·minimax·clawdbot·openclaw
cuber膜拜6 小时前
Marp CLI快速入门
pdf·npm·markdown·ppt·marp
咖啡の猫7 小时前
微信小程序使用 npm 包
微信小程序·小程序·npm
ha_lydms8 小时前
Hadoop 架构
大数据·hadoop·hdfs·架构·mapreduce·yarn·数据处理
天若有情6731 天前
XiangJsonCraft v1.2.0重大更新解读:本地配置优先+全量容错,JSON解耦开发体验再升级
前端·javascript·npm·json·xiangjsoncraft
有个人神神叨叨1 天前
pnpm cnpm npm 对比
前端·arcgis·npm
有个人神神叨叨1 天前
node、npm 和 npx 的关系
前端·arcgis·npm
虹科网络安全2 天前
艾体宝新闻 | NPM 生态系统陷入困境:自我传播恶意软件在大规模供应链攻击中感染了 187 个软件包
前端·npm·node.js
摇滚侠2 天前
PNPM 包管理工具和 NPM 包管理工具
vscode·npm·node.js·pnpm
147API2 天前
改名后的24小时:npm 包抢注如何劫持开源项目供应链
前端·npm·node.js