LoginSignup
1
0

More than 1 year has passed since last update.

【React Native】Firebaseの最新バージョン(9.8.4)でエラーが出る件

Last updated at Posted at 2022-07-03

エラーの内容

・「React Native + Expo」アプリ にFirebaseの最新バージョン(9.8.4)をインストールし、公式ドキュメントでおこなっている初期化処理を記述。
・「expo start」でiOSシュミレーターを起動した際、以下エラーが発生

初期化処理

import { initializeApp } from 'firebase/app';


const firebaseConfig = {
  apiKey: 'api-key',
  authDomain: 'project-id.firebaseapp.com',
  databaseURL: 'https://project-id.firebaseio.com',
  projectId: 'project-id',
  storageBucket: 'project-id.appspot.com',
  messagingSenderId: 'sender-id',
  appId: 'app-id',
  measurementId: 'G-measurement-id',
};

// Initialize Firebase
 initializeApp(firebaseConfig);

※firebaseConfigに記載したAPI Keyは公式サイトから引用。実際はFirebaseプロジェクト作成時にできる自分専用のコードを記載している。

Screen Shot 2022-07-03 at 23.59.20.png
Screen Shot 2022-07-04 at 0.03.33.png

initializeApp関数を呼び出した際にこのエラーが発生するよう。

エラーの内容で気になる箇所は、以下の
「However, this package itself specifies a main module field that could not be resolved.
Indeed, none of these files exist:」
部分。
日本語訳すると
「しかし、このパッケージ自体が main モジュールのフィールドを指定しており、解決できませんでした。
実際、これらのファイルは一つも存在しません。」
何かファイル(というかパッケージ?)が足りないのか。。

解決策(というか対応策)

firebase のバージョンを9.8.4から公式ドキュメントの例で使われている9.1.0に変える。

yarn add 'firebase@9.1.0'

Expo公式 Using Firebase

これで取り敢えずエラーは解消され、initializeAppを呼び出しても正常にシュミレーターが起動するようになりました。

まとめ

取り敢えず、同じ9系だし最新のExpo公式ドキュメントで使われている記述なので、大きな問題はないと思い「9.1.0」を使用することにしました。
お茶を濁すような解決策ではあるけれど、8系に落とすよりはマシかなと、甘めに判断。。

どなたか9.8.4でも上記エラー起きずにFirebaseと連携する方法知っていれば、ご教授いただきたいです。。

後日談

↓こちらのやり方で、あっさり解決。無事、9.8.4でもFirebase連携できるようになりました。
@sugasaki さん、良い記事ありがとうございます。。!(面識ないのでこの場でこっそりお礼)
https://qiita.com/sugasaki/items/9e642329b83094a081fb
↑参考文献も後で確認し理解を深めよう。

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