更新firebase.json配置多站点部署后执行firebase deploy返回500错误
问题成因
brokers目标未完成绑定配置:改成多站点部署后,每个hosting数组项的target字段需要和.firebaserc文件中的hosting target映射一一对应,也需要先在Firebase控制台创建对应的Hosting站点。如果未提前创建站点、未执行target绑定命令,服务端找不到对应站点资源就会返回500错误。brokers对应的配置项存在语法错误:比如public字段指向的目录不存在、rewrites/redirects/headers规则格式不符合Firebase规范,服务端解析配置失败触发内部错误。- 部署资源不符合要求:
brokers对应的public目录下存在超过30MB的单文件、总资源超出配额、文件名包含特殊字符,触发服务端校验异常。
解决方法
- 先完成站点绑定:首先在Firebase控制台Hosting页面确认已创建对应
brokers站点,之后在项目目录执行命令firebase target:apply hosting brokers <brokers站点的实际ID>完成绑定,执行firebase target:list确认映射关系已生效。 - 校验配置项:对比
brokers和可正常部署的testing-brokers的配置参数,确认public目录路径存在、所有规则语法正确,没有遗漏括号、引号等语法问题。 - 排查部署资源:检查
brokers对应的public目录,删除超过30MB的单文件,清理文件名中的\、?、*、<、>等非法字符,确认总部署资源大小未超出账号配额。 - 重置认证状态:如果以上配置都无误,执行
firebase logout注销账号后再执行firebase login重新登录,清除本地权限缓存后再次尝试部署。
内容的提问来源于stack exchange,提问作者Tomas Lucena
相关产品推荐
相关产品推荐

