Firebase CLI エラー「FirebaseCommandException」の解決方法
問題の概要
FlutterFire CLIを使用して flutterfire configure
コマンドを実行しようとすると、以下のエラーが発生します:
FirebaseCommandException: An error occured on the Firebase CLI when attempting to run a command.
COMMAND: firebase --version
ERROR: The FlutterFire CLI currently requires the official Firebase CLI to also be installed
このエラーは、公式のFirebase CLIが正しくインストールされているにもかかわらず、FlutterFire CLIがそれを認識できない場合に発生します。Windows、macOS、Linuxのいずれの環境でもこの問題が発生する可能性があります。
環境による差異
解決方法はOSや環境によって異なります。以下の解決策を順番に試してみてください。
主要な解決方法
1. Firebase CLIの再認証
Firebaseの認証トークンが期限切れまたは無効になっている可能性があります:
firebase logout
firebase login --reauth
TIP
firebase projects:list
を実行してエラーが発生する場合は、認証の問題である可能性が高いです。
2. Node.jsのバージョン確認
Firebase CLIは特定のNode.jsバージョンを要求します:
node --version
現在のFirebase CLIでは、Node.js 18以上または20以上が必要です。バージョンが古い場合はアップグレードしてください。
nvm install 18
nvm use 18
# Node.js公式サイトから適切なバージョンをダウンロード
3. Windows環境での特別な対応
Windowsでは、Firebase CLIのスタンドアロンバイナリを使用する必要がある場合があります:
- Firebase CLI公式サイトから「Windows (バイナリ)」をダウンロード
- ダウンロードした
firebase-tools-instant-win.exe
をプロジェクトフォルダにコピー - ファイル名を
firebase.exe
に変更 - 環境変数PATHにこのファイルがあるディレクトリを追加
4. プロジェクト設定の確認
Firebaseコンソールで以下の点を確認してください:
- 同じパッケージ名のアプリが既に存在していないか
- 削除予定のアプリが残っていないか(設定 → アプリ → 削除予定のアプリ)
- 手動でFirebaseプロジェクトを作成し、
flutterfire configure
で選択
プラットフォーム別の注意点
Windows
Windowsでの詳細な設定手順
- コントロールパネル → システムとセキュリティ → システム → システムの詳細設定 → 環境変数
- 「システム環境変数」の「Path」を選択し「編集」
firebase.exe
があるディレクトリパスを追加- コマンドプロンプトを再起動して設定を反映
WARNING
PowerShellでは実行ポリシーによってスクリプトの実行が制限されている場合があります:
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
macOS
# FlutterFire CLIの再インストール
dart pub global activate flutterfire_cli
# パーミッション問題がある場合
sudo flutterfire configure
Linux
# Firebase Toolsの再インストール
npm install -g firebase-tools
# FlutterFire CLIの再アクティベート
dart pub global activate flutterfire_cli
その他の可能性と解決策
アプリIDの形式問題
iOSのアプリIDにアンダースコアなどの不正な文字が含まれていないか確認してください:
❌ com.example.my_app # アンダースコアは不可
✅ com.example.myapp # 正しい形式
Androidマニフェストの確認
android/app/src/main/AndroidManifest.xml
にパッケージ名が正しく設定されているか確認:
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.yourapp"> <!-- ここに正しいパッケージ名 -->
>
キャッシュのクリア
Firebaseのキャッシュをクリアすると問題が解決する場合があります:
# Windows
rm -r C:\Users\USERNAME\.cache\firebase
# macOS/Linux
rm -r ~/.cache/firebase
まとめ
FirebaseCommandExceptionエラーは、主に以下の原因で発生します:
- 認証問題 -
firebase login --reauth
で解決 - Node.jsバージョン - Node.js 18以上にアップグレード
- パス設定 - 環境変数PATHにFirebase CLIのパスを追加
- プロジェクト競合 - Firebaseコンソールで重複するアプリを確認
問題が解決しない場合は、Firebaseのデバッグログを確認してください:
firebase debug-log
どの解決策も効果がない場合は、Firebaseプロジェクトを新規作成して再度設定するとほとんどの場合で問題が解決します。