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에서 패키지를 설치할 때 웬만하면 캐럿(^)을 붙이지 않고 사용해야할 것 같습니다

Read more

[React Native] WebView 안드로이드 로그인 유지

증상 * 안드로이드 앱에서 로그인 유지가 의도한 것 보다 짧게 유지 되거나 로그인 정보가 날라가는 오류가 있었습니다 원인 * 로그인 인증을 위한 쿠키가 메모리에서 디스크로 이동하는데 일정 간격이 있어서 실시간으로 동기화 되지 않았기 때문입니다 조치 * 안드로이드에서 쿠키를 디스크(영구 저장소)로 저장하는 메소드를 앱이 백그라운드로 이동할 때 호출하여 해결하였습니다 * React native의 쿠키관리

By Taehwan Go