Next.js应用部署Firebase Hosting遇404错误求助
Next.js + Firebase 部署报404错误:Requested entity was not found
问题背景
- 运行数月的Next.js应用托管在Firebase,突然无法部署
- 怀疑由
firebase-tools更新引发,但降级版本后问题未解决 - 已尝试以下操作,均无效:
- 删除并重建Next.js服务器函数
- 重装项目、从头重建应用
- 在
firebase.json中添加site和target配置
- 部署时核心报错:
Error: HTTP Error: 404, Requested entity was not found
排查步骤
验证项目关联正确性
- 检查
.firebasesrc中的project字段值,确保与Firebase控制台的项目ID完全一致(注意大小写、特殊字符) - 执行命令
firebase projects:list确认当前CLI关联的项目,若不匹配则运行firebase use <你的正确项目ID>切换
- 检查
确认Hosting站点存在
- 登录Firebase控制台,进入Hosting页面,检查目标站点是否存在(若使用自定义站点名,需确认未被误删除)
- 核对
firebase.json中hosting.site的配置值,必须与控制台的站点ID完全匹配;若站点已丢失,需重新创建站点并更新配置
清理CLI缓存与权限
- 执行
firebase logout退出当前账号,再通过firebase login重新授权登录 - 删除项目根目录下的
.firebase缓存文件夹,重新运行firebase deploy
- 执行
检查Next.js服务器函数状态
- 进入Firebase控制台的Cloud Functions页面,确认用于Next.js的服务器函数(通常命名为
nextjs-server)存在且未被删除 - 若函数缺失,重新构建函数后部署:执行
npm run build(或你的构建命令),再运行firebase deploy --only functions,hosting
- 进入Firebase控制台的Cloud Functions页面,确认用于Next.js的服务器函数(通常命名为
验证账号权限
- 确认当前使用的Firebase账号拥有项目的Editor及以上权限,避免因权限不足导致资源无法访问
- 若使用服务账号部署,检查服务账号密钥是否有效,且已配置Hosting、Cloud Functions的相关权限
排查服务稳定性
查看Firebase官方状态页面,确认Hosting和Cloud Functions服务是否正常运行,若有服务故障需等待官方恢复
内容的提问来源于stack exchange,提问作者capybara
相关产品推荐
相关产品推荐

