使用corepack

使用corepack

· 2 分钟阅读时长

在翻看metamask-extension源码时候看到package.json中有个字段"packageManager": “yarn@4.9.1”,但在npm中查看yarn,最新版还是1.22.22,奇怪,那么实际项目怎么安装这个v4的yarn呢。仔细查下发现,其中是使用了corepack来做包管理器和版本管理。

说明

corepack是nodejs下官方项目,非第三方。当前最新版为v0.34.0

如何使用corepack呢

corepack enable


# 使用yarn,pnpm,npm等正常进行安包

yarn install
pnpm install
npm install

当执行该包命令时,corepack会自动切换到指定版本,如果没有该包管理器或者该版本包管理器都会自动进行安装和切换使用。

corepack是内置的吗

从 Node.js v16.9.0 开始,Corepack 是 Node.js 的内置特性

corepack默认启用吗

实际测试发现比如nodejs v20也没有默认启用,还是需要手动corepack enable

写在最后

个人觉得corepack确实解决了痛点,因为不同版本包管理器在安装依赖时会有不同行为,经常造成lock文件变动,神烦,这样大家统一包管理器及版本,lock的变动就很稳定了。当然如果不是在项目下的话需要使用包管理器,比如yarn,还是需要自行全局安装了。

相关文档

Alan He
Authors
开发者,数码产品爱好者,喜欢折腾,喜欢分享,喜欢开源