Expo에서 React Native 프로젝트를 개발할 때 버전 호환성 문제는 정말 흔하게 발생하는 어려움입니다. (프로젝트를 다시 만들고 싶다는 욕구를 일으키기도 합니다.)
특히 expo CLI, react-native, expo-sdk, gradle, 그리고 Android Gradle Plugin (AGP) 간의 복잡한 관계 때문에 더욱 그렇습니다.
정확한 모든 호환성 조합을 표로 정리하는 것은 매우 어렵습니다. 그 이유는 다음과 같습니다:
하지만, 가장 중요한 것은 Expo SDK 버전을 기준으로 나머지 종속성들을 맞춰나가는 것입니다. Expo는 특정 SDK 버전에서 테스트 및 권장하는 React Native, Gradle, AGP 버전을 제공합니다.
다음은 일반적인 가이드라인과 Expo 공식 문서에서 제공하는 권장 호환성 표를 기반으로 한 정리입니다. 이 표는 정적이지 않으며, 프로젝트를 시작하거나 업그레이드할 때마다 Expo의 공식 문서를 확인하는 것이 가장 중요합니다.
Expo SDK 기반 React Native 개발 시 권장 호환성 (2024년 5월 기준)
Expo SDK 버전 | react native 버전 | Android Gradle Plugin(AGP) 버전 | Gradle버전(gradle-wrapper.properties) | Node.js 버전 |
---|---|---|---|---|
51(현재버전) | ~0.74.x | 8.4.x(권장) | 8.8(권장) | ^18.0.0 |
50 | ~0.73.x | 8.2.x(권장) | 8.4.x(권장) | ^18.0.0 |
49 | ~0.72.x | 8.1.x(권장) | 8.0.x(권장) | >=16.14.0 |
48 | ~0.71.x | 7.4.x(권장) | 7.6.x(권장) | >=16.14.0 |
47 | ~0.70.x | 7.3.x(권장) | 7.5.x(권장) | >=16.14.0 |
npx create-expo-app my-new-app
cd my-new-app
npx expo run:android # 또는 npx expo run:ios
npx expo-cli upgrade
이 표와 가이드라인을 통해 Expo React Native 프로젝트의 버전 호환성 문제를 효율적으로 관리할 수 있기를 바랍니다.