Firebaseで一度削除して復元したプロジェクトにHostingデプロイすると、エラーになりデプロイできなくなる事象の調査と解消した方法をご紹介します。
(前提:プロジェクト削除前はデプロイできていた)
Error: HTTP Error: 404, Requested entity was not found.
解消した方法
結論からいうと「プロジェクトを復元した後1日待ったらデプロイできるようになった」です。
(原因がわかっていないので、1日待つことが解消の要因かどうかは断定できませんが私の場合はそうでした)
解決までの流れ
1日目 am11:00頃 プロジェクトを復元する
1日目 am12:00頃 デプロイすると404エラーになる。調べて色々試してみるが解消しない
2日目 am10:00頃 デプロイに成功する(この日は特に何もしていない。1日目の状態のまま)
解消するまでに試したこと
まずはプロジェクトが存在するか確認
以下コマンドで、デプロイ先のプロジェクトが存在するか確認する
$ firebase projects:list
↓
結果にデプロイ対象の「プロジェクトが表示されている」「Project ID に(current)が表示されている」が確認できればOK
対象のプロジェクトに(current)が表示されていない場合は、以下のコマンドで切り替える
$ firebase use (PROJECT_ID)
以下コマンドでツールを更新する
$ npm install -g firebase-tools
②firebaseプロジェクトを初期化する
以下コマンドで初期化
$ firebase init
③デプロイ ターゲットを設定する
以下コマンドでデプロイターゲットを設定
$ firebase target:apply hostign (TARGET_NAME) (RESOURCE_IDENTIFIER)
- TARGET_NAME・・・デプロイ先である Hosting サイトの一意の名前(Hosting サイト内で被ってなければ好きな名前を付けていいよということ)
- RESOURCE_IDENTIFIER・・・Firebase プロジェクトにリストされている Hosting サイトの SITE_ID
- SITE_ID・・・デプロイした場合に表示される「SITE_ID.web.app」のドメイン部分
これは複数のHostingサイトがある場合に設定するものなので、今回は関係なさそうでしたmm
以下コマンドで設定をクリアしました。
$ firebase target:clear hosting (TARGET_NAME)
上記色々試しましたが、冒頭に書いた通りなぜか一日待ったらデプロイできるようになりました。
プロジェクトを復元した場合にデプロイできるようになるまで何かしらのタイムラグがあるのか、単純にローカル環境の問題だったのか。。。謎です
参考サイト
apprythm.com
uyamazak.hatenablog.com
Firebase CLI リファレンス | Firebase Documentation
デプロイ ターゲット | Firebase Documentation