← 문제 라이브러리
CI/CD 중급 CICD-001 · 20분

main 머지 직후 npm ci 실패: 캐시 문제처럼 보이는 로그

main 브랜치에 기능 PR이 머지된 직후 GitHub Actions 릴리스 워크플로가 npm ci 단계에서 실패했습니다.

검수된 문제무료
시나리오

main 브랜치에 기능 PR이 머지된 직후 GitHub Actions 릴리스 워크플로가 npm ci 단계에서 실패했습니다. 로그 앞부분에 '캐시를 복원했다'는 줄이 보여서 팀원 대부분이 캐시가 오염됐다고 생각하고, 한 명은 이미 캐시를 지운 뒤 재실행을 눌렀지만 똑같이 실패했습니다. 문제의 PR은 새 HTTP 라이브러리를 추가한 것으로, 리뷰에서는 코드만 보고 승인됐습니다. 오늘 오후 배포가 이 워크플로에 걸려 있습니다. 재실행과 캐시 삭제로 이미 40분이 지났습니다.

단서
워크플로 로그 (npm ci 단계)
Cache restored from key: npm-Linux-9f3c2a…
Run npm ci
npm ERR! code EUSAGE
npm ERR! `npm ci` can only install packages when your package.json and package-lock.json or npm-shrinkwrap.json are in sync. Please update your lock file with `npm install` before continuing.
npm ERR! Missing: [email protected] from lock file
PR 변경 파일
 package.json        | 1 +
 src/api/client.ts   | 42 +++++++
 (package-lock.json 변경 없음)

과제 원인을 좁히고, 서비스를 되살리는 순서(검증 포함)와 재발 방지책을 적어 보세요.

먼저 볼 것
  • 로그에서 소음(캐시 메시지)과 실제 실패 지점 분리하기
  • npm ci 와 npm install 의 차이
점검 체크리스트
  1. 실패한 단계의 마지막 오류 줄
  2. PR에서 package.json과 lockfile이 함께 바뀌었는지
  3. 같은 커밋을 로컬에서 npm ci 로 재현