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

Android Studio中React Native构建失败:Node.js版本未被正确识别

解决Android Studio构建React Native时无法识别nvm安装的Node.js问题

问题核心原因

Android Studio的Gradle构建进程并非通过交互式Shell启动,因此不会读取.bashrc中的nvm环境配置,导致构建时找不到Node.js可执行文件。

具体解决方案

1. 获取Node.js的绝对路径

在终端执行以下命令,得到nvm安装的Node.js二进制文件路径:

which node

输出示例:/home/your-username/.nvm/versions/node/v20.11.0/bin/node,我们需要的是其所在的bin目录:/home/your-username/.nvm/versions/node/v20.11.0/bin

2. 配置Android Studio的Gradle环境变量

  • 打开Android Studio,进入File > Settings > Build, Execution, Deployment > Build Tools > Gradle
  • 找到Environment variables区域,点击+添加新变量:
    • 变量名:PATH
    • 变量值:将第一步获取的bin目录放在原有PATH最前方,格式如下:
      /home/your-username/.nvm/versions/node/v20.11.0/bin:$PATH
      
  • 点击Apply和OK保存配置

3. 在项目Gradle配置中直接指定Node路径

如果上述方法无效,可直接在项目的Gradle配置中硬编码Node.js路径:

  • 打开项目根目录下的android/build.gradle,添加以下配置:
    project.ext {
        nodeExecutable = "/home/your-username/.nvm/versions/node/v20.11.0/bin/node"
    }
    
  • 或者在android/app/build.gradle的React Native配置块中添加:
    react {
        nodeExecutable = "/home/your-username/.nvm/versions/node/v20.11.0/bin/node"
    }
    

4. 修改Android Studio启动方式以加载nvm环境

Ubuntu下Android Studio默认通过非交互式Shell启动,无法加载.bashrc配置,可修改启动脚本:

  • 找到Android Studio的桌面快捷方式文件(通常在~/.local/share/applications/jetbrains-studio.desktop或/usr/share/applications/jetbrains-studio.desktop)
  • 将Exec行修改为:
    Exec=bash -i -c "/path/to/android-studio/bin/studio.sh"
    
    替换/path/to/android-studio为你的Android Studio安装路径
  • 保存后重新启动Android Studio

5. 重启Gradle Daemon并验证

在Android Studio内置终端执行以下命令,重启Gradle后台进程:

./gradlew --stop

随后重新运行构建任务,验证错误是否消失。

若需确认PATH是否生效,可在android/build.gradle中添加一个测试任务:

task printPath {
    doLast {
        println "Current PATH: " + System.getenv("PATH")
    }
}

执行./gradlew printPath,查看输出是否包含Node.js的bin目录。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 05:34:56