결제 기능 브랜치에서 입력 검증 라이브러리(zod)를 추가하고 lockfile도 함께 커밋했습니다. 개발자 PC와 main 브랜치 CI에서는 잘 되는데, 이 PR의 CI만 계속 테스트에서 모듈을 찾지 못한다며 실패합니다. 다시 실행해도 똑같습니다. 이 저장소의 CI는 브랜치마다 node_modules를 캐시해 두고, 캐시가 있으면 설치 단계를 건너뛰도록 설정돼 있습니다. 리뷰어는 lockfile에 zod가 빠진 것 아니냐고 묻습니다. 같은 날 main에 머지된 다른 PR들의 CI는 모두 정상입니다.
의존성을 추가했는데 PR의 CI만 Cannot find module
결제 기능 브랜치에서 입력 검증 라이브러리(zod)를 추가하고 lockfile도 함께 커밋했습니다.
시나리오
단서
Cache restored from key: deps-feature-payments Run npm ci Skipping: cache hit Run npm test Error: Cannot find module 'zod' Require stack: - /home/runner/work/app/app/src/payments/validate.js
- uses: actions/cache@v4
id: deps
with:
path: node_modules
key: deps-${{ github.ref_name }}
- if: steps.deps.outputs.cache-hit != 'true'
run: npm ci
$ grep -c '"node_modules/zod"' package-lock.json
1과제 원인을 좁히고, 서비스를 되살리는 순서(검증 포함)와 재발 방지책을 적어 보세요.
구독하면 이어서 볼 수 있어요
이 문제의 전체 시나리오와 점검 체크리스트, 복구 순서, 모범 풀이는 Pro 구독에서 열립니다.
먼저 볼 것
- 캐시 키가 무엇이 바뀌었을 때 새로 만들어지는지
- 캐시 적중과 설치 건너뛰기의 조합
점검 체크리스트
- 캐시 키 구성(브랜치 이름뿐인지)
- cache-hit일 때 설치 단계가 건너뛰어지는지
- lockfile에 해당 패키지가 있는지
복구와 재발 방지
같이 보면 좋은 질문
현장에서 본 비슷한 케이스
0/10