Vercel빌드
Vercel 빌드 JavaScript heap out of memory — 빌드 메모리 초과
FATAL ERROR: Reached heap limit Allocation failed - JavaScript heap out of memory
한 줄 해결: 빌드가 Node 의 힙 한도를 넘겨 죽은 것으로, NODE_OPTIONS 로 힙을 늘리거나 빌드 자체를 가볍게 만드는 두 방향으로 해결합니다.
이런 증상일 때
Vercel 또는 로컬 next build 가 "JavaScript heap out of memory"로 중단됩니다. 페이지/데이터가 많거나 큰 정적 생성(getStaticPaths 대량)에서 자주 발생합니다.
원인
- 정적 생성 페이지 수가 많아 빌드 메모리 사용량이 기본 힙 한도 초과
- 거대한 데이터 파일을 빌드 타임에 통째로 메모리에 로드
- 소스맵·번들 분석 등 메모리 소비가 큰 옵션이 켜져 있음
해결 방법
1
힙 한도 상향
NODE_OPTIONS 로 최대 힙을 늘립니다. Vercel 은 프로젝트 환경변수에 NODE_OPTIONS 를 추가합니다.
NODE_OPTIONS=--max-old-space-size=4096 next build2
정적 생성 분할/지연
getStaticPaths 를 fallback 으로 돌려 빌드 타임 생성량을 줄이거나 ISR 로 분산합니다.
3
데이터 로딩 슬림화
빌드 타임에 거대 파일 전체를 메모리에 올리지 말고 필요한 필드만 추려 쓰거나 청크로 처리합니다.
💡 예방: 정적 페이지가 수천 개로 늘면 빌드 메모리를 함께 모니터링하고 NODE_OPTIONS 를 미리 설정해 두세요.
VercelbuildheapNODE_OPTIONSout of memory