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

使用EAS构建React Native时环境变量未定义问题排查

问题分析与解决方案

你遇到的核心问题是EAS Build 的环境变量传递机制和本地 expo start 完全不同:本地运行时,终端输入的环境变量会被 Node.js 进程直接继承,babel 插件能顺利读取到 process.env;但 EAS Build 是在远程构建服务器上执行的,终端里的变量并不会自动同步到远程环境,所以你的 babel 插件根本拿不到这些值。

下面是具体的修复方案,按推荐优先级排序:

方案一:使用 EAS Secrets 存储敏感变量(推荐,安全合规)

对于 API Key 这类敏感信息,不应该明文暴露在配置文件里,EAS Secrets 是官方推荐的安全存储方式:

  1. 逐个推送你的环境变量到 EAS 项目级 Secrets:
    eas secret:push --name API_KEY --value api-key --scope project
    eas secret:push --name AUTH_DOMAIN --value mydomain.com --scope project
    eas secret:push --name PROJECT_ID --value id --scope project
    # 剩下的变量以此类推
    
  2. 修改你的 eas.json,在 preview 构建配置中声明需要注入的环境变量:
    {
      "build": {
        "preview": {
          "android": {
            "buildType": "apk"
          },
          "env": {
            "API_KEY": "",
            "AUTH_DOMAIN": "",
            "PROJECT_ID": "",
            "STORAGE_BUCKET": "",
            "MESSAGING_SENDER_ID": "",
            "APP_ID": "",
            "MEASUREMENT_ID": ""
          }
        }
      }
    }
    
    这里的空值会自动被 EAS Secrets 中对应的变量填充。

方案二:在 eas.json 中直接配置非敏感变量

如果你的变量没有敏感信息,可以直接在 eas.json 的 env 字段中赋值:

{
  "build": {
    "preview": {
      "android": {
        "buildType": "apk"
      },
      "env": {
        "API_KEY": "api-key",
        "AUTH_DOMAIN": "mydomain.com",
        "PROJECT_ID": "id",
        "STORAGE_BUCKET": "bucket.com",
        "MESSAGING_SENDER_ID": "123",
        "APP_ID": "id",
        "MEASUREMENT_ID": "gg"
      }
    }
  }
}

方案三:构建时通过 --env 参数传递(临时测试用)

如果你只是临时测试,可以在构建命令中用 --env 参数逐个传递变量,但不推荐用于生产/正式预览构建:

eas build -p android -e preview --clear-cache --env API_KEY=api-key --env AUTH_DOMAIN=mydomain.com --env PROJECT_ID=id ...

验证你的配置

完成上述配置后,直接运行构建命令即可,不需要在终端前缀一堆环境变量:

eas build -p android -e preview --clear-cache

你的 babel.config.js 和 Firebase 配置代码本身没有问题,只要 EAS Build 能把环境变量注入到构建环境中,babel-plugin-transform-inline-environment-variables 就会正常把 process.env 替换成对应的值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 16:45:29