将Yarn 1.22.21项目升级至Yarn 4.1.1及Node.js 20遇问题求助
升级项目Yarn版本适配Node.js 20的解决方案
问题背景
项目当前使用Yarn@1.22.21和Node.js 16.x.x,计划升级Node.js至20版本(已知Node.js 20兼容Yarn@4.1.1)。执行corepack enable激活Corepack时,出现如下错误:
error This project's package.json defines "packageManager": "yarn@4.1.1". However the current global version of Yarn is 1.22.22.
解决步骤
- 确保已将Node.js版本切换至20.x.x
- 在项目根目录执行以下命令,将项目的Yarn版本升级到稳定版:
该命令会自动更新项目本地的Yarn版本至兼容Node.js 20的稳定版(如Yarn@4.1.1),同时同步修改yarn set version stablepackage.json中的packageManager字段。 - 再次执行Corepack激活命令:
corepack enable - 验证Yarn版本是否更新成功:
yarn --version
错误原因说明
出现版本不匹配错误,是因为package.json中已指定了Yarn@4.1.1,但全局环境仍为旧版Yarn,Corepack会校验这个字段与当前使用的Yarn版本一致性。先通过yarn set version stable升级项目本地Yarn版本后,再启用Corepack即可避免冲突。
内容的提问来源于stack exchange,提问作者Sohaib Najjar
相关产品推荐
相关产品推荐

