【GitHub Actions エラー】Deployしたら「Error: firebase use must be run from a Firebase project directory.」と言われた

# はじめに
今回はGitHub ActionsでDeploy時に起きたエラーについて書いていきます。

# 問題
```plaintext: エラーメッセージ
Error: firebase use must be run from a Firebase project directory.

Run firebase init to start a project directory in the current folder.

Error: Process completed with exit code 1.
```

![スクリーンショット 2025-01-26 2.24.08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3775597/7979f179-c752-f772-ac3b-9e0add8f4d5e.png)

```diff_yaml: main.yml
  # デプロイジョブ - ビルド完了後に実行
  deploy:
    name: Deploy
    runs-on: ubuntu-latest
    needs: [build] # ビルドジョブの完了を待つ
    steps:
      # ソースコードのチェックアウト
      - name: Checkout code
        uses: actions/checkout@v3

      # Node.js環境のセットアップとキャッシュの設定
      - name: Setup Node.js and cache
        uses: actions/setup-node@v3
        with:
          node-version: "18"
          cache: "npm"

      # Firebase CLIツールのインストール
      - name: Install firebase-tools
        run: npm install --save-dev firebase-tools

      # Firebaseサービスアカウントキーのデコードと環境変数の設定
      - name: Decode Firebase service account key
        run: |
          echo "${{ secrets.FIREBASE_KEY }}" | base64 -d > ./firebase-key.json
          echo "GOOGLE_APPLICATION_CREDENTIALS=${{ github.workspace }}/firebase-key.json" >> $GITHUB_ENV
                  
      # Firebaseプロジェクトの切り替え
      - name: change space
        run: ./node_modules/.bin/firebase use ${{ secrets.FIREBASE_PROJECT_ID }}

      # Firebaseへのデプロイ実行
      - name: Deploy to Firebase Hosting
        env:
          # デプロイに必要な環境変数の設定
          GOOGLE_APPLICATION_CREDENTIALS: ${{ github.workspace }}/firebase-key.json
          FIREBASE_CLI_EXPERIMENTS: webframeworks
        run: |
          ./node_modules/.bin/firebase deploy
          
      # クリーンアップ：認証情報ファイルの削除
      # always()を使用して、ジョブが失敗しても必ず実行
      - name: delete GOOGLE_APPLICATION_CREDENTIALS
        run: rm $GOOGLE_APPLICATION_CREDENTIALS
        if: ${{ always() }}
```

# 解決方法
```diff_yaml: main.yml
  # デプロイジョブ - ビルド完了後に実行
  deploy:
    name: Deploy
    runs-on: ubuntu-latest
    needs: [build] # ビルドジョブの完了を待つ
    steps:
      # ソースコードのチェックアウト
      - name: Checkout code
        uses: actions/checkout@v3

      # Node.js環境のセットアップとキャッシュの設定
      - name: Setup Node.js and cache
        uses: actions/setup-node@v3
        with:
          node-version: "18"
          cache: "npm"

      # Firebase CLIツールのインストール
      - name: Install firebase-tools
        run: npm install --save-dev firebase-tools

      # Firebaseサービスアカウントキーのデコードと環境変数の設定
      - name: Decode Firebase service account key
        run: |
          echo "${{ secrets.FIREBASE_KEY }}" | base64 -d > ./firebase-key.json
          echo "GOOGLE_APPLICATION_CREDENTIALS=${{ github.workspace }}/firebase-key.json" >> $GITHUB_ENV
          
+     # Firebaseプロジェクトを初期化
+     - name: Initialize Firebase project
+       run: ./node_modules/.bin/firebase init
        
      # Firebaseプロジェクトの切り替え
      - name: change space
        run: ./node_modules/.bin/firebase use ${{ secrets.FIREBASE_PROJECT_ID }}

      # Firebaseへのデプロイ実行
      - name: Deploy to Firebase Hosting
        env:
          # デプロイに必要な環境変数の設定
          GOOGLE_APPLICATION_CREDENTIALS: ${{ github.workspace }}/firebase-key.json
          FIREBASE_CLI_EXPERIMENTS: webframeworks
        run: |
          ./node_modules/.bin/firebase deploy
          
      # クリーンアップ：認証情報ファイルの削除
      # always()を使用して、ジョブが失敗しても必ず実行
      - name: delete GOOGLE_APPLICATION_CREDENTIALS
        run: rm $GOOGLE_APPLICATION_CREDENTIALS
        if: ${{ always() }}
```

# おわりに
エラーメッセージで`Run firebase init to start a project directory in the current folder.(現在のフォルダーでプロジェクトディレクトリを開始するには、firebase init を実行します。)`と言われたのでFirebaseプロジェクトの初期化をするコードを追加してこのエラーは解決出来ました。