fix(web): 同步 package-lock.json ——修复 CI Staging Web 镜像构建失败 (npm ci EUSAGE) #2021

Merged
xiaoxia merged 1 commits from fix/web-ci-package-lock into develop 2026-09-23 17:16:20 +08:00

1 Commits

Author SHA1 Message Date
xiaoxia f2b80ad8e5 fix(web): 同步 package-lock.json——classnames/dayjs 显式依赖导致 npm ci EUSAGE (#2020 后续)
CI/CD Pipeline / Check push changed paths (pull_request) Has been skipped
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (pull_request) Successful in 1s
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 1s
CI/CD Pipeline / Build Staging API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Unit Tests (pull_request) Has been skipped
CI/CD Pipeline / Integration Tests (pull_request) Has been skipped
CI/CD Pipeline / PR Build API Image (pull_request) Has been skipped
CI/CD Pipeline / PR Build Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Has been skipped
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Has been skipped
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Has been skipped
CI/CD Pipeline / Staging E2E Tests (pull_request) Has been skipped
CI/CD Pipeline / Staging API Integration Tests (pull_request) Has been skipped
CI/CD Pipeline / ACR Image Cleanup (pull_request) Has been skipped
CI/CD Pipeline / Frontend Lint (pull_request) Successful in 1m24s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 1m35s
CI/CD Pipeline / PR Build Web Image (pull_request) Successful in 1m37s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 2m14s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Successful in 3m38s
AI Code Review / AI Code Review (pull_request) Successful in 6m50s
CI/CD Pipeline / Validate - Style (pull_request) Successful in 7m0s
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Successful in 8m17s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 10m37s
CI/CD Pipeline / Validate - Security (pull_request) Successful in 19m3s
CI/CD Pipeline / Build Production Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Production Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Build Production API Image (pull_request) Has been skipped
CI/CD Pipeline / Canary Release to Production (pull_request) Has been skipped
CI/CD Pipeline / Deploy Production (pull_request) Has been skipped
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
CI/CD Pipeline / CI Gate (pull_request) Successful in 1s
Preview Cleanup / Cleanup Preview Environment (pull_request) Successful in 1m1s
ACR Cleanup / ACR Image Cleanup (pull_request_target) Successful in 6m32s
PR#2020 在 apps/web/package.json 中新增了 classnames ^2.5.1 和 dayjs ^1.11.23
的显式依赖(此前它们是 antd/@ant-design/icons 的传递依赖),但仅用 pnpm add
更新了 pnpm-lock.yaml,未同步更新 CI(web.Dockerfile)实际使用的 package-lock.json。
lockfile 中 dayjs 仍停留在 1.11.21(由 antd 传递引入),npm ci 严格校验版本不匹配:

  npm error `npm ci` can only install packages when your package.json
    and package-lock.json ... are in sync.
  npm error Invalid: lock file's dayjs@1.11.21 does not satisfy dayjs@1.11.23

导致 CI Run #54590 Build Staging Web Image 连续三次(含一次 --no-cache)失败,
而 API/Worker 镜像构建不受影响。

修复:在 apps/web 下重新执行 npm install,将 package-lock.json 与 package.json
同步到 dayjs@1.11.23 / classnames@2.5.1 作为顶级依赖。本地已验证:
- npm ci 成功安装 444 包
- tsc --noEmit 零错误
- vite build 成功产出 dist/
- eslint 通过
2026-09-23 16:50:34 +08:00