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

这样就是成功啦

  • 编写有误还请大佬指正,万分感谢。
相关推荐
学渣y4 天前
nvm下载node版本,npm -v查看版本报错
前端·npm·node.js
你的电影很有趣4 天前
lesson71:Node.js与npm基础全攻略:2025年最新特性与实战指南
前端·npm·node.js
有梦想的攻城狮6 天前
从0开始学vue:npm命令详解
前端·vue.js·npm
星光不问赶路人6 天前
理解 package.json imports:一次配置,跨环境自由切换
前端·npm·node.js
向下的大树6 天前
npm 最新镜像,命令导致下载错误
前端·npm·node.js
迪丽热爱6 天前
解决【npm : 无法加载文件 C:\Program Files\nodejs\npm.ps1,因为在此系统上禁止运行脚本。】问题
前端·npm·node.js
weixin_456904278 天前
前端开发时npm install报错解决方案
前端·npm·node.js
蓝莓味的口香糖8 天前
【npm】npm命令大全
前端·npm·node.js
源去_云走9 天前
npm 包构建与发布
前端·npm·node.js
码农欧文9 天前
关于npm和pnpm
前端·npm·node.js