프로앤트 | N번의 도전

[React Native]지옥의 버전업을 경험하다 본문

개발

[React Native]지옥의 버전업을 경험하다

프로앤트 2025. 7. 21. 10:14

근무하고 있는 회사에서는 2개의 앱을 관리하고 있는데

 

최근 구글 플레이스토어에 빨간색의 무서운 경고가 뜨게 되었다.

 

구글 경고

안드로이드 경고인데, 지금이 25년도 7월 18일인데 이게 7월 초에 알림이 왔다.

 

결국 두달안에 해결하라는건데

빨간색 배경으로 아주 무서운 경고였다.

 

이때까지 초치가 되지 않으면, 업데이트는 더 이상 진행할 수 없다고 한다.

 

그래서 겸사겸사 안드로이드쪽 요구사항도 맞추는 겸 리엑트 네이티브 버전업데이트를 진행하려고 준비했다.

 

A앱은 리엑트 네이티브 0.69버전으로 2년전에 개발 시작한 이래 한번도 버전업 진행을 하지 않았다.😑

B앱은 내가 관리하기 이전에 0.72로 버전업을 진행했다. 다만, cli환경으로 앱을 만들다가 중간에 필요에 의해서 expo관련 패키지를 설치한것 같은데 이게 참.. 골치 아프다 ( 의존성이 높은 앱이 서로 엉켜있다.)

 

 

일단 A앱은 약 일주일간 다른업무도 못하고 이것만 매달려서 0.69에서 0.76버전으로 버전업데이트 완료

버전업데이트는 완료 했으나, 패키지들중 호환불가인 fast-image 를 제거 대신 react-image를 사용하여 대체하고 그 외에 다른 소소한 ui적 오류들이 보여 전체적으로 검수 하며 해결중이다.

 

 

일단 버전업을 경험해본 사람으로, 대략적인 내용을 공유하기 위해 작성해본다.

단 조건 최소한의 패키지 및 리엑트 위주의 패키지 사용이면 엄청나게 어려움이 크지 않은것 같고 그 외에 cli환경임에도 expo등의 또다른 의존성이 강한 다른 패키지를 설치한 경우는 거의 불가능이라고 느껴질정도로 어렵다.

 

그만큼 난이도는 천차만별 완료 기간도 산정하기 힘들다 목표기간만 .. 있을뿐 😅

 

 

일단 버전업 선배님의 블로그를 참고했다.

https://lasbe.tistory.com/233

 

react-native 버전 업그레이드 가이드, v0.69 to v0.78

📒 react-native 버전 업그레이드 가이드, v0.69 to v0.78최근에 현재 개발하는 리액트 네이티브 앱의 버전을 업그레이드하는 업무를 맡게 되었습니다.리액트 네이티브 버전 업은 평소에도 악명이 자

lasbe.tistory.com


버전별 의존성을 참고하는 

# 변경된 패키지 버전 확인
$ npx @rnx-kit/align-deps --requirements react-native@0.76

# 변경된 패키지 버전 package.json에 반영
$ npx @rnx-kit/align-deps --requirements react-native@0.76 --write

 

이런식의 명령을 진행한다. --write를 하면 실제로 package.json파일이 변경되는데

 

다만 이걸로 모든 패키지가 정상적으로 변경되는건 아니다.

 

리엑트에서 제공하는

https://react-native-community.github.io/upgrade-helper/

헬퍼 사이트를 참고하여 빠진 패키지들이 있을수 있으니 챙겨서 반영해준다.

 

 

 

그리고 그 외에  다른 변경파일들도 일단 무지성으로 반영해본다.

 

저의 경우에는 java에서 kt로 변경되면서 안드로이드 변경사항이 조금 있었습니다.

 

변경사항 적용 자체는 약 30분도 안걸리긴하는데 여기서부터 이제 빌드를 하며, 실제로 잘 작동하는지 하고

IOS,AOS 빌드까지가 무사히 완료 되면 1차 완료. (1차 완료만해도 50%이상 완료한걸로 생각해도 좋다)

그리고 나서 빌드가 되면, 에뮬레이터/시뮬레이터에 빨간화면이 무진장 뜬다.

이떄부터 오류 보며 GPT,제미나이 에게 물어보며 진행하면 좋은데 이게 문제가 GPT나 제미나이도 워낙 애매한 자료들이 많아서 그런지

오답을 엄청 알려준다.

 

그래서 간혹 구글에서 검색으로 찾아봐야할수도있으니, 이건 참고하시면 좋을것 같다. ( * 주의 : ai들은 반복적인 답변을 준다 )

 

 

이후에 패키지 호환 문제등 빨간화면등을 해결하다보면, 빌드가 되는걸 확인할 수 있습니다.

 

이후에 에뮬레이터와 실 기기에서 충분히 테스트 진행 후 부분적으로 기능 개선 및 화면이 틀어지거나 사이즈가 달라지는경우등

개발 대응을 하면 완료 됩니다.

 

 

이 과정에서 문제발생의 여지가 많다보니 CS담당부서와 충분히 협의 후 진행하시면 좋을것 같습니다. ( 문제는 무조건 발생하는것 같습니다.)