You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Native执行启动命令报错:找不到exec()方法求助

解决方案

1. 同步Gradle与JDK 17的兼容配置

Gradle 7.3支持JDK 17,但需确保项目Gradle相关配置同步更新:

  • 打开android/build.gradle文件,更新Gradle插件版本至适配JDK17的7.4+:
    dependencies {
        classpath("com.android.tools.build:gradle:7.4.2")
        // 保留其他原有依赖
    }
    
  • 检查android/gradle/wrapper/gradle-wrapper.properties中的分发路径,确保无拼写错误:
    distributionUrl=https\://services.gradle.org/distributions/gradle-7.3-bin.zip
    
  • 进入android目录执行清理命令:gradlew clean(Windows)或./gradlew clean(Mac/Linux)。

2. 修复Android SDK环境变量

react-native doctor检测不到SDK,核心原因是环境变量未正确配置:

  • 添加系统环境变量ANDROID_HOME,值为你的Android SDK安装路径(例如C:\Users\valen\AppData\Local\Android\Sdk)
  • 在系统Path变量中追加以下路径:
    • %ANDROID_HOME%\platform-tools
    • %ANDROID_HOME%\tools
    • %ANDROID_HOME%\tools\bin
  • 关闭所有终端、IDE后重启,执行echo %ANDROID_HOME%验证变量生效,再运行react-native doctor重新检测SDK状态。

3. 修复CLI执行错误

找不到exec()方法多与Node模块缓存、CLI版本不兼容有关:

  • 清除Node模块与缓存:
    rm -rf node_modules package-lock.json yarn.lock
    npm cache clean --force
    npm install
    
  • 验证React Native CLI版本,执行npx react-native --version,若版本过低,升级至适配JDK17的0.70+版本:
    npm install react-native@latest --save
    

4. 调整项目编译配置

  • 打开android/app/build.gradle,确保编译SDK版本适配最新环境:
    android {
        compileSdkVersion 33
        defaultConfig {
            targetSdkVersion 33
            // 保留其他原有配置
        }
    }
    
  • 执行npx react-native start --reset-cache清除Metro缓存后启动服务。

5. 重新运行项目

完成上述步骤后,依次执行:

npx react-native start --reset-cache
npx react-native run-android

内容的提问来源于stack exchange,提问作者Valentin Georis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 15:20:57