firebase deployを実行して5分以上。Enterを押しても、画面は進まない。
WindowsからFirebaseを更新しようとして、この状態になりました。しかもdeployだけでなく、CLIの確認も全体的に遅い。結果的に更新できたきっかけは、プロジェクトを置く場所の変更でした。
TL;DR
- OneDrive同期対象のデスクトップ配下では、CLIが全体的に遅くなっていました。
- プロジェクトをダウンロードフォルダーへ移したところ、更新できました。
- 保存場所の比較は有効でしたが、OneDriveが原因と断定できる測定まではしていません。
先に結果:変更したのはプロジェクトの置き場所
| 比較項目 | 移動前 | 移動後 |
|---|---|---|
| 保存場所 | OneDrive同期対象のデスクトップ配下 | ダウンロードフォルダー |
| deploy | 5分以上進まない | 更新できた |
| 厳密な所要時間の測定 | なし | なし |
この事例で得られたのは、「場所を変えたら改善した」という切り分け結果です。
同期対象のフォルダー/project/
├─ firebase.json
├─ package.json
└─ ソースコード
↓ 構成を保って比較
同期対象外と確認した作業場所/project/
├─ firebase.json
├─ package.json
└─ ソースコード
ハマった点:deployだからFirebase側の問題に見える
コマンド名はdeployですが、処理は実行元のファイルにも依存します。今回、ほかのCLI操作まで遅かったことが、作業環境を見直す手掛かりになりました。
💡 ここに注意! 「保存場所を変えて改善した」と「同期ソフトが原因と証明した」は別です。今回はファイルアクセスやOneDriveの負荷を測定していないため、原因の断定はしません。
原因を絞る段階で、CLI更新・ネットワーク変更・再インストールを一度に行うと、何が効いたのか分かりにくくなります。
同じ症状なら、こう比較する
1. 今どこで実行しているか確認する
PowerShellなら、次で作業場所を確認できます。
Get-Location
フォルダー名だけで判断せず、実際に同期対象となっているかも確認します。「ダウンロード」なら必ず同期対象外、という意味ではありません。
2. 元のプロジェクトを残して比較する
次回は元データを残し、同期対象外と確認した作業場所へプロジェクトをコピーして比較します。node_modulesだけを移すのではなく、ソースやfirebase.jsonを含む構成を保ちます。
Firebase CLIはfirebase.jsonの設定を使います。比較先でも同じプロジェクトを対象にしているか、確認が必要です。CLIリファレンス
3. 変更する条件と所要時間を残す
同じ操作をどこで実行し、どの表示まで進んだかをメモします。これなら「移動が効いた」という経験を、次の調査につながる記録にできます。
次の一手は、保存場所の確認から
CLI全体が重いと感じたら、現在の作業パスも確認項目に入れてみてください。Firebaseの設定を変更する前に、比較できる条件が1つ増えます。
似た症状で、保存場所や同期設定が関係していた経験があれば、どのように切り分けたかコメントで教えてください。