"scripts": { ... "start:dev": "cross-env NODE_ENV=dev nest start --watch", "start:prod": "cross-env NODE_ENV=prod node dist/main", ... }, 환경을 dev와 prod로 나누기 위해서 실행 명령어를 확인하던 도중 둘 다 실행을 하는 것이지만, start:dev는 nest start --watch라는 명령어로 실행을 하고, start:prod는 node dist/main으로 실행을 했습니다. 둘 다 실행해 보면 동일하게 프로젝트를 실행하는 것 같은데 뭐가 다를까라는 의문이 들었습니다. 1. nest start --watch Nest 공식 문서에 들어가 보면 nest start 명령어에 대한 설명이 존재합..
1. 문제 상황 자동화 배포 과정에서 Nest 애플리케이션을 빌드하는데, 빌드 실패가 나면서 이런 오류 메시지가 출력됐습니다. FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory 말 그대로 할당된 Javascript 힙 메모리를 넘어섰다는 것입니다. 2. 문제 해결 방법 node -e 'console.log(v8.getHeapStatistics().heap_size_limit/(1024*1024))' 위 명령어를 터미널에 쳐보면 현재 설정되어 있는 힙 메모리를 확인할 수 있습니다. 확인해 보니 저는 495라고 떴습니다. 로컬에서는 동작이 됐으니 로컬에서 확인한 값과 동일..