问题分析

CI 日志报错:

ERR_PNPM_LOCKFILE_CONFIG_MISMATCH  Cannot proceed with the frozen installation. The current "overrides" configuration doesn't match the value found in the lockfile

意思是:CI 在用 pnpm install --frozen-lockfile,但当前仓库的 package.json(或 pnpm 配置)里关于 overrides 的值和锁文件里记录的不一致,pnpm 因为 --frozen-lockfile 拒绝继续以保证可重复安装。

解决:本地更新 lockfile 并提交

如果代码库允许更新锁文件,最直接的做法是本地用 pnpm 重新生成锁文件并提交。

# 在本地
pnpm -v                # 查看本地 pnpm 版本,记下来
git checkout -b fix/pnpm-lock
pnpm install --no-frozen-lockfile   # 允许更新锁文件
# 检查变更,确认没有不必要的依赖版本变动
git add pnpm-lock.yaml
git commit -m "chore: regenerate pnpm-lock.yaml to match overrides"
git push origin fix/pnpm-lock
# 在 GitLab 上发 MR,CI 会在下次跑通过

这是最干净的方式——锁文件与 package.json 同步,之后 CI 使用 --frozen-lockfile 就不会失败。

Logo

鲲鹏昇腾开发者社区是面向全社会开放的“联接全球计算开发者,聚合华为+生态”的社区,内容涵盖鲲鹏、昇腾资源,帮助开发者快速获取所需的知识、经验、软件、工具、算力,支撑开发者易学、好用、成功,成为核心开发者。

更多推荐