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

部署Firebase项目时出现Error fetching access token错误求助

问题解决:Firebase部署凭证警告与Hosting页面空白

一、@firebase/database app/invalid-credential 警告

原因

metadata.google.internal 是Google Cloud内部元数据服务域名,仅在GCP托管环境(如Cloud Functions、App Engine)内可正常解析。你在树莓派本地执行 firebase deploy 时,本地DNS无法识别该内部域名,导致Firebase SDK尝试获取OAuth2令牌失败,触发重复警告。

修复步骤

  1. 显式指定服务账号凭证
    • 从Firebase控制台下载服务账号密钥(JSON格式),保存到项目functions目录,命名为service-account-key.json
    • 修改functions/index.js中的Firebase初始化代码,手动传入凭证:
      const admin = require('firebase-admin');
      const serviceAccount = require('./service-account-key.json');
      
      admin.initializeApp({
        credential: admin.credential.cert(serviceAccount),
        databaseURL: 'https://maison-94615-default-rtdb.firebaseio.com' // 替换为你的数据库URL
      });
      
  2. 升级过时的firebase-functions
    日志提示版本过时,执行以下命令升级:
    cd functions
    npm install --save firebase-functions@latest
    
    注意:升级包含破坏性变更,建议先备份代码,参考官方文档适配。

二、Hosting页面仅显示顶部横幅、内容为空

排查与修复

  1. 清除缓存并重新部署Hosting
    本地调试可能残留缓存,导致页面加载异常:
    • 清除浏览器缓存(Ctrl+Shift+Delete)
    • 单独重新部署Hosting:
      firebase deploy --only hosting
      
  2. 检查public目录资源
    确认项目根目录public文件夹包含完整HTML/CSS/JS文件,且页面内资源引用路径正确。若依赖的JS/CSS未加载,会导致内容无法渲染。
  3. 验证firebase.json配置
    检查firebase.json的Hosting配置,确保静态资源路径和函数重写规则正确。示例配置:
    {
      "hosting": {
        "public": "public",
        "rewrites": [
          {
            "source": "/login",
            "function": "login"
          }
        ]
      }
    }
    
  4. 查看浏览器开发者工具
    访问Hosting URL时按F12打开开发者工具,查看Console和Network标签页,定位资源加载失败或JS报错问题。

额外提示

  • 日志中提到的构建镜像清理错误,可重新部署或登录GCP控制台手动删除指定路径的镜像,避免产生不必要费用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 11:50:56