Next.js v14.2.8 빌드 에러
Error occurred prerendering page "/dashboard".
Read more: https://nextjs.org/docs/messages/prerender-error
ReferenceError: window is not defined
얼마전 github actions에서 배포 중 에러가 발생했습니다
로컬에서 githook의 pre-push에서 빌드를 하기 때문에 빌드에러는 발생하지 않을 것이라 생각했지만 빌드 중 window is not defined
에러가 발생했습니다
의심되는 부분을 수정해봤지만 해결되지 않았고 로그를 보던 중 next.js 버전이 로컬에서 설치 후 실행되는 버전과 다르다는 것을 발견했습니다
원인은 package.json에 next 버전을 명시할 때 캐럿(caret, ^)을 붙였던 것이 원인이었습니다
캐럿(^)을 제거해서 명시된 버전만 사용하게 변경하였습니다
전날에도 긴급배포할 때도 이런 현상이 없었는데 빌드에러 발생 7시간 전 14.2.8 버전이 npm에 배포되어있었습니다
next.js 깃헙 이슈탭(https://github.com/vercel/next.js/issues)에 가보니 관련 이슈를 제기한 사람들이 많았습니다
당분간 next.js로 프로젝트를 새로 만들 때 14.2.7 버전으로 만들어야할 것 같습니다
운영 중인 서비스를 개발할 땐, npm에서 패키지를 설치할 때 웬만하면 캐럿(^)을 붙이지 않고 사용해야할 것 같습니다