React项目部署至Firebase Hosting时无法列出项目报错求助
问题背景
使用React.js开发的项目计划部署到Firebase Hosting,执行firebase init初始化操作时抛出错误:
Error: Failed to list Firebase projects. See firebase-debug.log for more info.
从debug日志可定位到核心异常链路:
- CLI尝试调用接口拉取账号下的Firebase项目列表时,接口返回403状态码
- 接口响应内容不是预期的JSON格式,首字符为
<,触发JSON解析错误:SyntaxError: Unexpected token < in JSON at position 0
问题成因
该报错的本质是Firebase CLI拉取项目列表的请求没有拿到合法的JSON响应,常见触发原因有三类:
- 本地保存的Firebase登录凭证过期、损坏,或当前账号没有对应项目列表的读取权限
- 本地网络存在防火墙/代理拦截,Google API请求被劫持,返回了HTML格式的网络错误页/拦截页,这也是响应首字符为
<的最常见原因 - 当前使用的v11.0.1版本firebase-tools存在已知的鉴权逻辑兼容bug,在部分环境下会异常触发403错误
排查解决步骤
按以下顺序操作,每步完成后可重试firebase init验证是否修复:
- 重置本地登录凭证
先执行登出命令清除本地失效的授权信息:
再重新执行登录流程,授权时不要取消页面勾选的任何默认权限:firebase logoutfirebase login - 检查网络与代理配置
确保当前网络可正常访问Google服务接口,如果使用本地代理,先在当前终端配置代理环境变量(将端口号替换为你本地代理的实际端口,常见为7890、1080、10809):export HTTP_PROXY=http://127.0.0.1:你的代理端口 export HTTPS_PROXY=http://127.0.0.1:你的代理端口 - 升级firebase-tools到最新稳定版
旧版本CLI的鉴权兼容问题较多,执行全局升级:npm install -g firebase-tools@latest - 跳过自动拉取列表手动关联项目
如果以上步骤都无效,可以直接从Firebase控制台复制你的项目ID,手动完成项目关联,绕过拉取全量项目列表的步骤:
关联完成后再执行firebase use --add 你自己的Firebase项目IDfirebase init即可正常走后续配置流程。
内容的提问来源于stack exchange,提问作者Ali Sadeghi
相关产品推荐
相关产品推荐

