Corepack 是 Node.js 的一个实验性工具,它用于管理 JavaScript 包管理器的版本。JavaScript 包管理器,比如 npm、Yarn 或 pnpm,是用来帮助开发者安装和管理项目依赖的工具。
在 Node.js 中,npm 通常会预装。但是,如果你想使用不同版本的 npm,或者其他包管理器如 Yarn 和 pnpm,你可能需要手动安装它们,并确保你的项目中的所有开发者都使用相同的版本。这是一个挑战,因为每个人都需要手动安装并维护这些工具的正确版本。
这就是 Corepack 发挥作用的地方:它允许你在你的项目中指定所需的包管理器和版本,然后 Corepack 负责自动下载并使用正确的版本。这样,项目中的所有人都将使用完全相同的包管理器,这有助于避免“在我的机器上运行良好”的问题。
首先,从 Node.js v16.9.0 开始,Corepack 是 Node.js 的内置特性,所以确保你的 Node.js 版本至少是这个版本。
要启用 Corepack,你可以在命令行中执行以下命令:
corepack enable
corepack prepare pnpm@8.15.0 --activate
corepack prepare pnpm@latest --activate
corepack prepare yarn@stable --activate
pnpm -v
这个命令会为 yarn 和 pnpm 设置好 shims(间接层),即使这些工具本身还没有被安装。
Corepack will no longer be distributed starting with Node.js v25.Corepack 将从 Node.js v25 开始不再分发。
Users currently depending on the bundled corepack executable from Node.js can switch to using the userland-provided corepack module.目前依赖 Node.js 预装 corepack 可执行文件的用户可以切换到使用用户提供的 corepack 模块。
https://github.com/nodejs/corepack