React Native 0.69版本无法运行,0.73版本可正常运行求助
解决React Native 0.69版本在高版本环境下的运行错误
1. 修复Node.js版本兼容问题
React Native 0.69官方兼容的Node.js上限为16.x,你当前使用的Node 21.5.0版本过高,不仅会触发punycode模块弃用警告,还会引发依赖链冲突。
- 用nvm切换到Node 16.x版本:
nvm install 16 nvm use 16 - 无nvm的话,直接下载Node 16.x安装包替换当前版本即可。
2. 调整JDK版本适配
RN 0.69推荐使用JDK 11,JDK 21的字节码格式与旧版构建工具不兼容,是dexBuilderDebug任务失败的核心原因:
- 在Android Studio中打开
File > Project Structure > SDK Location,将JDK路径切换到JDK 11; - 或者在项目根目录的
android/gradle.properties中添加配置:org.gradle.java.home=/path/to/your/jdk11
3. 降级Android Gradle插件与Gradle版本
Android Studio Hedgehog默认的AGP 8.x与RN 0.69的构建体系不兼容,需要手动降级:
- 打开
android/build.gradle,修改AGP版本:dependencies { classpath("com.android.tools.build:gradle:7.0.4") // 保留其他原有依赖 } - 打开
android/gradle/wrapper/gradle-wrapper.properties,修改Gradle版本:distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-all.zip
4. 清理缓存并重新构建
完成上述修改后,执行以下命令清理缓存,避免旧缓存干扰:
# 清理Node依赖缓存 rm -rf node_modules && npm install # 清理Android构建缓存 cd android && ./gradlew clean && cd .. # 重新运行项目 npx react-native run-android
注:
punycode警告是Node高版本导致的,切换到Node 16后该警告会自动消失,无需单独处理模块。
内容的提问来源于stack exchange,提问作者code46
相关产品推荐
相关产品推荐

