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

使用AWS Amplify部署React应用时找不到.env.production文件求助

解决方案建议

根据你遇到的找不到.env.production的报错,结合你的配置,给出几个可行的解决办法:

1. 调整构建命令,直接使用Amplify环境变量

你的AWS Amplify控制台已经配置了环境变量,React会自动注入所有以REACT_APP_开头的变量,不需要依赖本地.env文件。

  • 打开项目的package.json,找到scripts里的build:production命令,查看是否是类似如下写法:
    "build:production": "env-cmd .env.production react-scripts build"
    
  • 将其修改为不需要env-cmd的版本:
    "build:production": "react-scripts build"
    
  • 或者直接把Amplify构建设置里的build命令改成npm run build(如果项目默认的build命令就是生产构建逻辑)。

2. 在Amplify构建阶段动态生成.env.production文件

如果你必须保留env-cmd的使用方式,可以在Amplify的preBuild阶段生成这个文件,把控制台配置的环境变量写入进去:
修改你的构建设置为:

version: 1
frontend:
  phases:
    preBuild:
      commands:
        - npm install
        - npm rebuild node-sass
        # 生成.env.production文件
        - echo "REACT_APP_BASENAME=$REACT_APP_BASENAME" > .env.production
        - echo "REACT_APP_BASE_URL=$REACT_APP_BASE_URL" >> .env.production
        - echo "REACT_APP_GOOGLE_PLACES_API_KEY=$REACT_APP_GOOGLE_PLACES_API_KEY" >> .env.production
        - echo "SKIP_PREFLIGHT_CHECK=$SKIP_PREFLIGHT_CHECK" >> .env.production
    build:
      commands:
        - npm run build:production
  artifacts:
    baseDirectory: build
    files:
      - '**/*'
  cache:
    paths:
      - node_modules/**/*

3. 检查代码库是否遗漏了.env.production文件(不推荐敏感信息场景)

如果之前这个文件存在于代码库中,后来被误删,你可以重新添加它到代码库(注意:绝对不要把API密钥这类敏感信息提交到公开代码库,这种方式仅适用于非敏感的环境变量)。

补充说明

之前部署正常可能是因为:

  • 本地开发时存在.env.production文件,且之前的构建过程中该文件被包含在部署包内;
  • 或者之前的构建命令没有使用env-cmd,不需要依赖这个文件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 10:24:46