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

在Amplify上托管Nx Monorepo时构建失败的修复求助

修复Nx Monorepo在Amplify Gen2上的构建错误

问题根源

自动生成的amplify.yml配置存在两个核心问题:

  • Backend命令未在正确的目录执行,导致找不到backend.ts文件
  • Frontend部分的构建命令、输出路径与Nx的目录结构不匹配,引发构建路径不存在的错误

正确的amplify.yml配置

替换自动生成的配置为以下内容,注意根据你的实际前端应用名称(比如web-app)调整:

version: 1
applications:
  - backend:
      phases:
        build:
          commands:
            - cd packages/backend
            - npm ci --cache .npm --prefer-offline
            - npx ampx pipeline-deploy --branch $AWS_BRANCH --app-id $AWS_APP_ID
      appRoot: packages/backend
  - frontend:
      phases:
        preBuild:
          commands:
            - npm ci --cache .npm --prefer-offline
        build:
          commands:
            - npx nx build web-app --prod
      artifacts:
        baseDirectory: dist/apps/web-app
        files:
          - '**/*'
      cache:
        paths:
          - .npm/**/*
          - node_modules/**/*
          - nx-cache/**/*
      buildPath: dist/apps/web-app
      appRoot: .

关键调整说明

  • Backend部分:先进入packages/backend目录再执行部署命令,确保能正确找到backend.ts文件
  • Frontend部分:
    • 构建命令改为npx nx build web-app --prod,对应你创建的前端应用名称
    • baseDirectory和buildPath指向Nx构建后的标准输出目录dist/apps/web-app
    • 增加Nx缓存路径nx-cache/**/*,提升后续构建效率
    • appRoot设为根目录(./),因为Nx需要从工作区根目录执行项目构建命令

验证步骤

  1. 本地执行npx nx build web-app --prod,确认dist/apps/web-app目录生成且包含完整的前端产物
  2. 将调整后的amplify.yml提交到代码仓库
  3. 触发Amplify重新构建

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 05:42:10