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

Firebase Hosting部署报错:缺失projectId配置值(GitHub Actions异常)

解决GitHub Actions部署Firebase Hosting时projectId缺失的问题

问题描述

通过Firebase CLI手动部署应用时网站正常运行,但使用GitHub Actions工作流部署后,网站出现错误:

Uncaught FirebaseError: Installations: Missing App configuration value: "projectId" (installations/missing-app-config-values)

原因分析

本地部署时,.env文件中的配置(包括projectId、服务密钥等)会在构建阶段被项目读取并注入到产物中;但GitHub Actions环境默认不会读取本地的.env文件,导致构建后的产物缺少必要的Firebase配置信息,最终引发报错。

解决方案

1. 将.env配置项存入GitHub仓库Secrets

  • 进入GitHub仓库的Settings -> Secrets and variables -> Actions
  • 点击New repository secret,将.env中的每个配置项分别添加为Secrets,例如:
    • FIREBASE_PROJECT_ID:对应你的Firebase项目ID
    • FIREBASE_API_KEY:对应Firebase的API密钥
    • 其他你.env文件中包含的Firebase配置项

2. 修改GitHub Actions工作流文件

在构建步骤前注入环境变量,确保项目构建时能获取到所需配置。修改后的.yml文件示例:

# This file was auto-generated by the Firebase CLI
# https://github.com/firebase/firebase-tools

name: Deploy to Firebase Hosting on merge
on:
  push:
    branches:
      - master
jobs:
  build_and_deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      # 注入环境变量到构建环境
      - name: Inject environment variables
        run: |
          echo "FIREBASE_PROJECT_ID=${{ secrets.FIREBASE_PROJECT_ID }}" >> $GITHUB_ENV
          echo "FIREBASE_API_KEY=${{ secrets.FIREBASE_API_KEY }}" >> $GITHUB_ENV
          # 根据你的.env文件添加其他必要配置
      - run: npm install && npm run build
      - uses: FirebaseExtended/action-hosting-deploy@v0
        with:
          repoToken: '${{ secrets.GITHUB_TOKEN }}'
          firebaseServiceAccount: '${{ secrets.FIREBASE_SERVICE_ACCOUNT_PROJECT_ID }}'
          channelId: live
          projectId: ${{ secrets.FIREBASE_PROJECT_ID }}

3. 确保项目代码正确读取环境变量

检查你的Firebase初始化代码,确保使用环境变量而非硬编码获取配置,例如:

import { initializeApp } from "firebase/app";

const firebaseConfig = {
  apiKey: process.env.FIREBASE_API_KEY,
  projectId: process.env.FIREBASE_PROJECT_ID,
  // 其他配置项
};

const app = initializeApp(firebaseConfig);

不同构建工具(如Vite、Create React App)对环境变量的前缀要求不同,需遵循对应工具的规则(比如Create React App要求变量以REACT_APP_开头)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 14:37:46