'Firebase: Firebase App named '[DEFAULT]' already exists with different options or config (app/duplicate-app)

I am a newbie, and I am stuck. I don`t know what to do. My browser is showing that fire store is not able to connect to the backend. This is my code :

import firebase from 'firebase/compat/app';
import 'firebase/compat/auth';
import 'firebase/compat/firestore';
import 'firebase/compat/storage';
import {initializeApp} from 'firebase/app'

const firebaseConfig = initializeApp({
  apiKey: "AIzaSyA9BnlX96fMf7XiUVCFRsoQzG8DGERJkeY",
  authDomain: "disneyplus-clone-a33d5.firebaseapp.com",
  projectId: "disneyplus-clone-a33d5",
  storageBucket: "disneyplus-clone-a33d5.appspot.com",
  messagingSenderId: "37918794208",
  appId: "1:37918794208:web:dbe9842dfe1dda522a4b85",
  measurementId: "G-DRVLJKWRWG",
});

const firebaseApp = firebase.initializeApp(firebaseConfig);
const db = firebaseApp.firestore();
const auth = firebase.auth();
const provider = new firebase.auth.GoogleAuthProvider();
const storage = firebase.storage();


export { auth, provider, storage };
export default db;

And if i delete the initializeApp from const firebaseConfig it gives my the following error:

@firebase/firestore: Firestore (9.2.0): Could not reach Cloud Firestore backend. Connection failed 1 times. Most recent error: FirebaseError: [code=permission-denied]: Permission denied on resource project disneyplus-clone-a33d5. This typically indicates that your device does not have a healthy Internet connection at the moment. The client will operate in offline mode until it is able to successfully connect to the backend.

Hope you can help me. Thank you !



Solution 1:[1]

can you try this workaroun. let me know if this helps

const firebaseApp = firebase.initializeApp(firebaseConfig);
const db = firebaseApp.firestore();
//workaround
db.settings({ experimentalForceLongPolling: true });

Solution 2:[2]

This is what I did

  1. Create a file called firebase.tsx and add this
// firebase.tsx
import { initializeApp, getApp } from "firebase/app";

const firebaseConfig = {
    // firebaseconfig keys
};

const app = initializeApp(firebaseConfig);

export { app };
  1. Then where ever you want to use any firebase features you can just import the app like this
import {app} from './your/path/to/firebase.tsx'
const db = getFirestore(app);

and then use it as a normal firebase.

P.S This works for firebase v9

Solution 3:[3]

I faced this issue when I changed the firebase project in firebase console for my REACT NATIVE ANDROID APP. to fix this issue there is a needs to clean the builds and related files. Steps:-

  1. cd android
  2. ./gradlew clean or gradlew clean
  3. ./gradlew cleanBuildCache
  4. npm run android

import firebase from 'firebase/compat/app';
import 'firebase/compat/auth';
import 'firebase/compat/firestore';
import 'firebase/compat/storage';
import {initializeApp} from 'firebase/app'

const firebaseConfig = initializeApp({
  apiKey: "AIzaSyA9BnlX96fMf7XiUVCFRsoQzG8DGERJkeY",
  authDomain: "disneyplus-clone-a33d5.firebaseapp.com",
  projectId: "disneyplus-clone-a33d5",
  storageBucket: "disneyplus-clone-a33d5.appspot.com",
  messagingSenderId: "37918794208",
  appId: "1:37918794208:web:dbe9842dfe1dda522a4b85",
  measurementId: "G-DRVLJKWRWG",
});

const firebaseApp = firebase.initializeApp(firebaseConfig);
const db = firebaseApp.firestore();
const auth = firebase.auth();
const provider = new firebase.auth.GoogleAuthProvider();
const storage = firebase.storage();


export { auth, provider, storage };
export default db;

Solution 4:[4]

Add this in Flutter

NOTE - Use this "Firebase.initializeApp" only Once in the entire Project.

// Wait for Default Firebase app to initialize

  if (Firebase.apps.isEmpty) {
  await Firebase.initializeApp(
    name: 'YourAPP',
    options: DefaultFirebaseOptions.currentPlatform,
  ).whenComplete(() {
    print("completedAppInitialize");
    // setState(() {});
  });
}

Solution 5:[5]

I got this error after messing with my firebase project (in the firebase console). In the end I discovered that my firebase_options.dart file was outdated, so I had to run

flutterfire configure

in order to regenerate those option files and then my problem was solved...

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 abhi patil
Solution 2 Cyrus Zei
Solution 3 Sanat Kumar
Solution 4 K D
Solution 5 BenVercammen