1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

js/ts環境で発生するError: Service firestore is not availableの解決策

Last updated at Posted at 2024-04-27

こんにちは。virapture株式会社でCEOしながらラグナロク株式会社でもCKOとして働いている@mogmetです。

まったく最近忙しすぎてOutputできてなかったのですが、たまにはアウトプットを頑張ろうと久々に手をとりました。

今回はトラブルシューティング系のものになります。

エラー概要

adminで使われるnode.jsやクライアントで使われるjsの環境にて、firestoreのインスタンスを取ろうとすると下記のようなエラーが出ることがあります。

Error: Service firestore is not available

firebase自体のinstanceも生成できてるのになんで・・・と毎回苦しんでました

原因

モノレポなどでやっていると発生しがちなのですが、共通パッケージとかで使っているfirebaseのバージョンが一致していないために発生するものになります。
参照してるパッケージが違うとこのようなエラーになるようなので、adminとclientがごっちゃになってる場合も要注意です。

解決策

2つあります

その1: versionが合っているか

firebaseのバージョンを合わせてインストールし直してください!

その2: typeを使う

importする時に実体をインポートするだけでこのケースに陥る事があるので、typeを使ってimportするようにしてみましょう。
こんな感じです。

import type { DocumentSnapshot as ClientDocumentSnapshot } from 'firebase/firestore'
import type { firestore as serverFirestore } from 'firebase-admin'

まとめ

service xxx is not available といわれたらパッケージのバージョンを疑うようにしましょう!

最後に、スノボの楽しく滑るコツを掴める cotsume というアプリを作ってます!よかったらDLしてみてね!

また、ワンナイト人狼オンラインというゲームを作ってます!よかったら遊んでね!

他にもCameconOffcha、問い合わせ対応が簡単にできるCSmart、フリーランスのコミュニティのNextFreelanceといったサービスも作ってるのでよかったら使ってね!

また、チームビルディングや技術顧問、Firebaseの設計やアドバイスといったお話も受け付けてますので御用の方は弊社までお問い合わせください。

https://virapture.com/
https://menta.work/user/20565

ラグナロクでもエンジニアやデザイナーのメンバーを募集しています!!楽しくぶち上げたい人はぜひお話ししましょう!!

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?