react-native-navigation 설정 삽질기....


(혜림) #1

RN 0.57.1로 만든 프로젝트에 RNN(react-native-navigation) 설정하다가 ios 는 성공했는데 android는 dependency 오류가 해결이 안 되더라고요. 찾아보니 RNN이 RN 0.57은 지원을 안 한다고 써있네요 ㅋㅋㅋ ㅜㅜ

RNN only support react-native 0.51 ( "reactNative51" ), 0.55 ( "reactNative55" ), and 0.56 ( "reactNative56" ),
https://wix.github.io/react-native-navigation/v2/#/docs/Installing

고통의 설정 단계를 다시 거치고 싶지 않아서 ㅋㅋㅋㅋ… 기존 프로젝트를 ~0.56으로 낮췄더니 이번에는 babel이 override 지원 안 한다는 에러를 만날 수 있었어요…

찾아보니까 RN 버전이 달라지면 바벨 버전도 RN 버전에 맞게 바꿔줘야 되는데 저는 이게 RN 버전만 낮추고 다시 설치하면 yarn이 알아서(?) 해줄 줄 알았고, 에러가 나는 걸 보니 알아서 안 되는 것 같습니다 하하
몇개 해보다가 안 되서 깨끗하게 RN 0.56으로 다시 설치했어요 ㅋㅋ

모듈 써보니까 ios는 설정도 비교적 쉽고 무난히 통과하는데 android 할 때마다 뭔가 꼬여서 새로 설치한거는 android 먼저 설정했습니다. 다 하고 나니까 에러 메시지 없이 build는 무사히 되는데, 실행화면에서는 index.js 모듈 찾을 수 없다고 나와서 리모트 디버깅 켜니까 이게 연결이 안 되더라고요.
android studio에서도 별다른 에러 메시지 안 나와서 빌드 내용 보니까 포트가 8081말고 다른걸로 설정되어 실행된 것 같아요. adb reverse tcp:8081 tcp:8081 해주니까 드디어 성공했어요 ㅜㅜㅜ

RN 0.57.2가 에러가 많이 나서 0.57.1로 옮겼는데 ~0.56으로 정착(?)해야 겠어요
문서 잘 봤으면 삽질 줄일 수 있었을텐데 지금이라도 되서 기분이 좋네요 하하


(정기욱) #2

생각보다 안드로이드 설정이 까다롭네요.ㅠ 고생하셨습니다.:sweat:


(코드종) #3

:+1: 성공 축하합니다. 안드로이드의 경우 네이티브 모듈과의 싸움은 진짜 너무 힘들죠. :cry: :sob:

다음 글에 제가 0.54 버전으로 이전할 때 android환경에서 react-native-navigation으로 부딪혔던 문제에 대해서 적은 내용이 있어요. 참고하세요. :wink: