corepack enable 不是项目初始化命令。它会在当前 Corepack 所在位置旁创建 pnpm、pnpx、yarn 等命令代理,也就是 shim。
因此它的作用范围是“当前 Node.js 安装”,而不是“当前项目”:
fnm use 20
corepack enable
fnm use 24
corepack enable每个 Node.js 版本通常只需要执行一次。之后进入项目直接使用:
pnpm install
pnpm dev如果切换 Node.js 版本后 pnpm --version 仍然正常,就不需要重复启用。只有命令缺失或 shim 被覆盖时,才需要再次运行 corepack enable。
Corepack 如何选择 pnpm 版本
项目可以在 package.json 中固定包管理器:
{
"packageManager": "pnpm@11.21.0"
}Corepack 代理读取该字段,按需下载并运行对应版本。项目没有声明时,则使用 Corepack 配置的默认版本:
corepack install --global pnpm@11.21.0Corepack 随 Node.js 14.19.0 至 24.x 分发,但从 Node.js 25 开始不再内置。使用 Node.js 25+ 时,需要先安装 Corepack,再启用 shim:
npm install --global corepack
corepack enable