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

使用EAS构建Amplify React Native App时缺失amplifyconfiguration.json报错

解决EAS构建Amplify React Native应用时找不到amplifyconfiguration.json的问题

问题原因

本地运行时你已经通过amplify pull生成了amplifyconfiguration.json,但这个文件被加入.gitignore,所以EAS构建(不管本地还是云端)时,构建环境里没有这个文件,导致模块解析失败。

可选解决方案

方案1:在构建流程中拉取Amplify配置

这是最直接的方案,让构建过程自动获取配置文件:

  • 云端构建:修改eas.json,在build的pre-build阶段添加脚本执行amplify pull,同时在EAS Secrets中配置AWS凭证(AWS_ACCESS_KEY_ID和AWS_SECRET_ACCESS_KEY),确保构建环境有权限拉取配置。示例配置:
{
  "build": {
    "production": {
      "preBuildCommand": "amplify pull --appId YOUR_APP_ID --envName YOUR_ENV --yes"
    }
  }
}
  • 本地构建:在执行eas build前,手动运行amplify pull --appId YOUR_APP_ID --envName YOUR_ENV,确保amplifyconfiguration.json已生成在项目目录中。

方案2:通过环境变量注入配置

如果不想在构建时拉取Amplify环境,可以把配置内容存在EAS Secrets中,然后在构建阶段动态生成配置文件:

  1. 把amplifyconfiguration.json的内容作为环境变量(比如命名为AMPLIFY_CONFIG)存入EAS Secrets
  2. 在eas.json的pre-build脚本中添加生成文件的命令:
{
  "build": {
    "production": {
      "preBuildCommand": "echo $AMPLIFY_CONFIG > ./amplifyconfiguration.json"
    }
  }
}

(Windows环境需调整脚本命令为对应写法)

方案3:临时调整.gitignore(不推荐)

如果是测试场景,可以临时把amplifyconfiguration.json从.gitignore中移除,提交到代码仓库,这样构建时就能包含这个文件。但这种做法会把环境配置暴露在代码仓库,生产环境绝对禁止使用。

总结

不是只能通过构建流程拉取Amplify环境,你可以根据项目的安全需求和构建流程复杂度选择合适的方案。生产环境优先推荐方案1或方案2,避免配置泄露。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 02:25:06