Troubleshoot
Vercel Build Failed — 흔한 원인 5가지
Vercel에서 npm run build exited with 1 에러가 발생할 때 흔한 원인과 해결법. 환경변수, Node 버전, 의존성 락파일, 타입 에러, ESLint.
증상
Vercel 배포 시 `Command "npm run build" exited with 1` 또는 `Error occurred prerendering page`.
원인
환경변수 누락, Node 버전 불일치, package-lock 충돌, TypeScript 타입 에러, generateStaticParams 안의 fetch 실패.
해결 단계
- 1
환경변수 누락 확인
Settings → Environment Variables에서 빌드 타임에 필요한 키 모두 등록. 특히 DB·Auth 키.
- 2
Node 버전 고정
package.json에 `"engines": {"node": ">=20"}` 추가하거나 .nvmrc 파일 추가.
- 3
build cache 비활성화 후 재시도
Redeploy 시 "Use existing Build Cache" 체크 해제. 의존성 충돌이 풀리는 경우 많음.
- 4
generateStaticParams try-catch
외부 fetch 실패가 빌드 전체를 죽이지 않게 try-catch로 감싸 빈 배열 반환.
export async function generateStaticParams() { try { return await fetchSlugs() } catch (e) { console.error(e) return [] } } - 5
로컬에서 production build 시도
`npm run build` 로컬 실행 → 같은 에러가 재현되는지 확인. 재현되면 코드 문제, 안 되면 환경변수 문제.