2024년 11월 13일 Expo SDK52 버전이 출시되었습니다. 모르고 있다가 오늘 프로젝트를 진행하던 도중 업데이트를 진행하라해서 생각없이 진행했는데, 갑자기 알 수 없는 오류 발생하더군요
뜬금없이, 이게 도대체 무슨 오류인지는 모르겠지만, 공식문서를 살펴봤습니다
새로운 SDK가 출시되고 뭐 어쩌구 저쩌구 하는데,
새 아키텍처로 앱 실행할때, 모든 타사 네이티브 라이브러리의 최신 버전을 사용하라고 합니다
그래서 제안하는 방법이 npx expo-doctor@latest 를 통해서 마이그레이션 시 문제를 일으킬 수 있는 라이브러리 이슈 체크를 해보라해서, 바로 확인해봤습니다
npx expo-doctor@latest 로 프로젝트의 문제점 분석 결과, 대부분 "패키지 버전 충돌", "호환되지 않는 Expo 버전에 맞지 않는 패키지", "오래된 종속성" 등의 문제가 있었습니다.
그래서 발생한 오류랑 관계가 있는지는 모르겠지만, 패키지에서 파생된 문제일 것 같아서, 일단 패키지 버전 부터 업데이트 해주기로 했습니다
npx expo install --check 를 통해 관련 패키지들의 버전 확인 및 업데이트를 시도했고,
보시는 것처럼, Expo 관련 패키지와 React Native 관련 패키지의 버전 업데이트가 필요한 것을 확인했지만,
expo-router와 @react-navigation/native 간의 peer dependency 충돌이 발생했습니다
그래서 이를 해결하기 위해 npm install --legacy-peer-deps 옵션을 사용했습니다
현재는 React Native Directory의 메타데이터와 프로젝트에서 사용하는 일부 패키지가 일치하지 않는다는 경고가 있었지만, 앱은 정상적으로 실행되네요