你们好,我是金金金。

场景
当然是因为项目需要啦 哈哈哈~
在
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
目录下生成一些代理脚本。这些脚本负责将你的命令(比如yarn
或pnpm
)转发给 Corepack 处理。 -
Shim 文件 :对于
yarn
来说,shims
目录里有一个yarn
和yarn.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 脚本处理的,如果你不把corepack
的shims
目录添加到PATH
中,那么当你在命令行中输入yarn
时,系统不会知道去哪里找这个命令。因此,你需要告诉系统:"嘿,如果我输入yarn
,请去C:\Program Files\nodejs\node_modules\corepack\shims
这个目录下找。
测试
-
此时我们输入
yarn -v
-
会提示让安装,安装即可。再次测试~ 如下图就是
success
了~
这样就是成功啦
- 编写有误还请大佬指正,万分感谢。