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

Nuxt3在AWS Amplify部署失败:找不到deploy-manifest.json文件

Nuxt3静态构建部署AWS Amplify时找不到deploy-manifest.json的解决办法

你遇到的这个错误是因为Amplify托管机制在寻找框架适配器生成的deploy-manifest.json,但Nuxt3静态生成模式不会自动生成该文件。以下是几个可行的解决思路:

1. 关闭Amplify的Nuxt框架适配器

Amplify会自动检测Nuxt项目并启用官方框架适配器,该适配器主要服务于SSR/SSG进阶部署,但静态生成(npm run generate)场景不需要它:

  • 进入Amplify控制台目标应用 -> Hosting -> Settings -> Build settings
  • 找到Framework version部分,选择None
  • 保存后重新触发构建

2. 调整buildSpec的产物配置

当前配置指定baseDirectory: .output/public,可尝试修改为.output,同时确保产物包含全部必要文件:

version: 1
applications:
  - appRoot: frontend-new
    frontend:
      phases:
        preBuild:
          commands:
            - npm install
        build:
          commands:
            - npm run generate
            - # 可选:添加该行检查生成的文件结构,方便排查问题
            - ls -la .output/public
      artifacts:
        baseDirectory: .output
        files:
          - '**/*'
      cache:
        paths:
          - node_modules/**/*

修改后重新构建,Amplify会读取.output下的静态文件,无需依赖deploy-manifest.json。

3. 手动生成deploy-manifest.json(临时 workaround)

若上述方法无效,可在build阶段末尾手动创建空的deploy-manifest.json放置到指定目录:
在build的commands中添加一行:

build:
  commands:
    - npm run generate
    - echo "{}" > .output/public/deploy-manifest.json

这样Amplify就能找到所需文件,完成部署流程。

4. 确认Nuxt配置正确性

检查nuxt.config.ts,确保静态生成配置无误:

export default defineNuxtConfig({
  ssr: false, // 确保为纯静态模式
  output: 'static', // 指定静态输出模式
})

本地构建后确认.output/public目录下有完整的静态文件(html、css、js等),再推送至Amplify。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 06:02:35