执行yarn set version stable后无.yarn/releases文件夹致Docker构建失败
Yarn 4.x 未生成
.yarn/releases文件夹导致Docker构建失败 执行yarn set version stable后,已确认本地Yarn版本为4.1.1,但项目根目录的.yarn文件夹中未生成.yarn/releases目录——这个目录用于随项目统一分发包管理器版本。缺少该目录导致Docker构建失败,因为构建配置会尝试使用全局的Yarn v1版本。
环境配置
- 平台:Windows 10
- Node.js:v18.18.2
- NVM:v1.1.11(通过Scoop安装)
- Scoop:v0.3.1
复现步骤
- 执行
Invoke-WebRequest -UseBasicParsing get.scoop.sh | Invoke-Expression安装Scoop - 执行
scoop install nvm安装NVM - 执行
nvm install 18.18.2安装指定Node.js版本 - 执行
nvm use 18.18.2切换到该Node.js版本 - 执行
npx corepack enable启用Corepack - 执行
mkdir ~/test-project创建测试项目目录 - 执行
cd ~/test-project进入项目目录 - 执行
npm init -y初始化项目 - 执行
yarn set version stable设置Yarn为稳定版 - 执行
yarn install安装依赖 - 执行
yarn ls .yarn查看目录,发现无releases文件夹
关键现象
- 同事在Mac系统上创建的同分支项目目录中存在
.yarn/releases文件夹 - 本地执行
Get-Command yarn显示指向全局Yarn v1脚本,但yarn --version输出正确的4.1.1 - 当前测试的是同事项目的分支,无法修改原项目的配置
需要解决该问题的方法,以及相关的Yarn官方规则说明:Yarn 4.x 默认采用Corepack管理版本时,若全局存在旧版Yarn,可能会出现路径优先级冲突;而在项目内生成.yarn/releases需要显式启用「项目级版本锁定」,可通过执行yarn set version stable --install-path .yarn/releases强制将版本文件写入项目目录。
内容的提问来源于stack exchange,提问作者Solonotix
相关产品推荐
相关产品推荐

