Corepack 是一个实验性工具,在 Node.js v16.13 版本中引入, Corepack 可以指定项目使用的包管理器以及版本, 简单来说,Corepack 会成为 Node.js 官方的内置 CLI,用来管理『包管理工具(yarn、pnpm)』,用户无需手动安装,即『包管理器的管理器』。
由于 corepack 是一个实验性工具,所以默认是没有启动的,需要显式启用,
需要运行指令 corepack enable
进行启动;
此时 nodejs 的目录结构如下,可以看出 yarn 已经被安装
在项目 package.json
文件中新增属性 "packageManager"
,比如
json"packageManager": "yarn@1.22.15"
代表当前项目只允许使用 yarn
包管理器并指定 1.22.15
版本
javascript// 当前应用激活
corepack enable
// 定义包管理器
"packageManager": "yarn@4.1.1"
// 声明的包管理器,会自动下载对应的 yarn,然后执行
yarn install
// 用非声明的包管理器,会自动拦截报错
pnpm install
Usage Error: This project is configured to use yarn
yarn -version
// return 4.1.1
因为在试验阶段,目前还有些问题待解决:
更新 yarn 时可以执行如下命令:
shyarn set version stable
yarn set version yarn@4.1.1
yarn set version yarn@4.3.1
参考官方文档:
The preferred way to manage Yarn is through Corepack, a new binary shipped with all Node.js releases starting from 16.10. It acts as an intermediary between you and Yarn, and lets you use different package manager versions across multiple projects without having to check-in the Yarn binary anymore.
Corepack is included by default with all Node.js installs, but is currently opt-in. To enable it, run the following command:
sh corepack enable
Corepack isn’t included with Node.js in versions before the 16.10; to address that, run:
shnpm i -g corepack
————————————————
本文作者:任浪漫
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-ND 4.0 许可协议。转载请注明出处!