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

这样就是成功啦

  • 编写有误还请大佬指正,万分感谢。
相关推荐
柯南二号15 小时前
【大前端】实现一个前端埋点SDK,并封装成NPM包
前端·arcgis·npm
dangkei15 小时前
【Wrangler(Cloudflare 的官方 CLI)和 npm/npx 的区别一次讲清】
前端·jvm·npm
IOsetting15 小时前
Node.js环境和antd初始化项目
npm·node.js·nvm
蒙奇·D·路飞-17 小时前
2025改版:npm 新淘宝镜像域名地址
前端·npm·node.js
不死鸟.亚历山大.狼崽子1 天前
无法将“pnpm”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。
npm
Java 码农1 天前
nodejs koa留言板案例开发
前端·javascript·npm·node.js
roamingcode3 天前
Claude Code NPM 包发布命令
前端·npm·node.js·claude·自定义指令·claude code
gc_22993 天前
运行npm run命令报错“error:0308010C:digital envelope routines::unsupported”
npm·node.js
zz-zjx4 天前
Nodejs 与npm
前端·npm·node.js
ChinaLzw4 天前
配置npm国内源(包含主流npm镜像源地址)
npm·node.js