Firebaseのローカル環境の引っ越しでハマった話
こんにちは、ワニかず@40歳 出戻りエンジニアです。
Firebaseのローカルのテスト環境を
うっかりホームディレクトリに作成してしまい、
その後、環境を別のディレクトリに移したい事ってありますよね(私のこと)
ホームディレクトリに作った環境で
そのままテストやらなんやら進めたことで、
後々、引っ越し作業をした際に、だいぶハマってしまいました。
何が起きたのか、そしてどのように解決したのか、
ということをまとめました。
※Firebaseに慣れた方は、「そんなことかよ」なことかもしれません。ご了承ください。
何が起きたか?
- クライアントのFlutter側から
- Firestoreのデータが
- iOS側のみ見えない
という事象に最終的になりました。
※Android側も見えない状態でしたが、色々やっているうちに解消
引っ越しでこれがダメだった
ローカルの設定ファイル
- firebase.json
- firestore.indexes.json
- firestore.rules
- .firebaserc(隠しファイル)
といったものを引っ越し先のディレクトリに移動し、そこで
「firebase init function」
を実行すれば行けると思っていましたが、それが間違いでした。
上記の作業を行った後、
クライアントのFlutter側から接続しようにも、
iOS側からFirestoreのデータが見えない、という状況に陥りました。
Flutterのプロジェクトから
• lib/firebase_options.dart
ファイルを削除する
• ios/Runner/GoogleService-Info.plist
ファイルを削除する
• android/app/google-services.json
ファイルを削除する
• macos/Runner/GoogleService-Info.plist
(存在する場合)を削除する
• その後、flutterfire configure
を実行
という手順をとってもダメでした。そのため、
私の環境の場合は、
該当のプロジェクトをFirebaseのコンソールから一度削除する必要がありました。
対処方法
Firebase側
-
Firebaseのコンソールで、削除するプロジェクトを選択
-
左上の歯車をクリックし、「プロジェクトの設定」を選択
-
画面下に「プロジェクトを削除」があるのでクリック
-
チェックボックスを選択して、「プロジェクトを削除」を選択
-
プロジェクトを作り直し(手順は以下)
https://zenn.dev/40_comeback_eng/articles/86cc4c24f7417b -
firebase init functionsを実行(手順は以下)
https://zenn.dev/40_comeback_eng/articles/dba0efc2ec2ee0
Flutter側
• lib/firebase_options.dart
ファイルを削除する
• ios/Runner/GoogleService-Info.plist
ファイルを削除する
• android/app/google-services.json
ファイルを削除する
• macos/Runner/GoogleService-Info.plist
(存在する場合)を削除する
• その後、flutterfire configure
を実行し、新しく作ったFirebaseのプロジェクトを指定
おしまいに
1日がこれで終わってしまいました。
Discussion