문제
기존까지 node v16 버전 대를 쓰고 있었다.
react-native는 npx를 통해서 쓰므로 가장 최신의 버전을 끌어와서 쓴다.
그러자 이제는 node v18 이상 버전을 써야 한다는 문구가 떴고, nvm을 v18로 변경하였다.
그러고는 아래와 같은 여러 문제들을 겪고, 수정하고의 반복이었다.
라이브러리 업데이트 결심
npx를 통해 react-native를 쓰다보니 rn은 최신 버전,
이에 맞는 node 버전이 호환이 되어야 동작이 되므로 node를 v18로 올렸는데,
정작 yarn install 되어 있는 라이브러리들은 예전 node v16을 사용하던 때에 맞춰서 엄청 옛날 라이브러리 버전들이 설치된 상태였다.
이를 호환시키겠다고 이것저것 하고 있는 것 보다, 사실 근본적으로는 이 라이브러리들의 버전들도 최신으로 업데이트 시켜주는 것이 맞지 않나?
발견한 것
Podfile 변화
최신 버전으로 업데이트를 거치면서, 이제는 minimun ios version 도 13으로 까지 올리게 되었다. (기존에는 10으로 했었음)
그러면서 당연히 OS 업데이트에 따른 변화에 대응하기 위한 이것저것들이 도입되어야 하고,
여기서 파이어베이스
Push Notifications
부분으로 인해 수정해야 할 부분들이 많이 생겼다pod 'Firebase', :modular_headers => true pod 'FirebaseCoreInternal', :modular_headers => true pod 'GoogleUtilities', :modular_headers => true pod 'FirebaseCore', :modular_headers => true
use_frameworks! :linkage => :static $RNFirebaseAsStaticFramework = true
등 Podfile에 변화가 많이 생겼다.
x86_64에서 arm64로
나는 m1을 나오자마자 샀다. 따라서 그 당시에는 m1 칩이 호환되지 않는 상태가 당연히 많았기 때문에,
react-native도 x86_64를 통해서 실행시켜야 했고 그래서 rosetta2를 이용하게 됐다.
툭하면 arch -x86_64 를 붙인 후에 명령어를 치곤 했다.

이제는 x86_64로 pod install을 하지 말라는 warning이 뜬다.
x86_64가 더 느리다고 arm64를 쓰라고 한다.
당연히 칩은 arm64인데 변환을 거쳐서 사용하는 거니까 느릴 수밖에 없다는 건 처음부터 그랬지만,
이제 이런 경고를 띄운다는 것은 변환을 거치지 않고 바로 arm64로 사용하는 것에 문제가 없도록 준비가 되었다는 뜻으로 해석된다.