per*_*kle 10 firebase react-native
我正在 Expo 中开发一个 RN 应用程序,以 firebase 作为后端。到目前为止,该应用程序仅使用 firebase auth 和 firestore,无论出于何种原因,我随机开始收到ReferenceError: Can't find variable: IDBIndex
. 我调整了我的 firebase 配置以适应 v9 标准,而不是使用该compat
包。我确保我的应用程序没有使用 Google Analytics。我还降级到 firebase@9.1.0 ,它与博览会文档和其他类似的帖子相匹配。当应用程序运行时,我也将 git 恢复到应用程序的早期版本(具有早期的依赖项和代码),但仍然返回相同的错误。发生这种情况时,我完全重新安装了 node 和 npm,因为我认为这是发生这种情况的唯一可能的原因,但这也无济于事(得到相同的 IDB 错误)。我仍然认为这是一个与 firebase 相关的问题,但我几乎不知道它可能是什么。
这是我的 firebase 配置:
import { initializeApp } from 'firebase/app'
import { getAuth, connectAuthEmulator } from "firebase/auth";
import { getFirestore, connectFirestoreEmulator } from "firebase/firestore";
import {
FIREBASE_API_KEY,
FIREBASE_AUTH_DOMAIN,
FIREBASE_PROJECT_ID,
FIREBASE_STORAGE_BUCKET,
FIREBASE_MESSAGING_SENDER_ID,
FIREBASE_APP_ID,
FIREBASE_MEASUREMENT_ID,
} from '@env';
const firebaseConfig = {
apiKey: FIREBASE_API_KEY,
authDomain: FIREBASE_AUTH_DOMAIN,
projectId: FIREBASE_PROJECT_ID,
storageBucket: FIREBASE_STORAGE_BUCKET,
messagingSenderId: FIREBASE_MESSAGING_SENDER_ID,
appId: FIREBASE_APP_ID,
measurementId: FIREBASE_MEASUREMENT_ID,
};
const app = initializeApp(firebaseConfig);
export default app;
export const auth = getAuth(app);
export const firestore = getFirestore(app);
if (process.env.NODE_ENV === "development") {
connectAuthEmulator(auth, "http://localhost:9099");
connectFirestoreEmulator(firestore, "localhost", 8080);
}
Run Code Online (Sandbox Code Playgroud)
如果您需要查看更多文件或需要了解更多详细信息,请告诉我。
我遇到了同样的问题,看起来"firebase": "^9.6.8",
几天前发布的问题已经出现了。使用"firebase": "9.6.7",
该线程中提到的其他修复肯定都是有效的(我已经看到其他论坛帖子建议 firebase 降级,但就我而言,它不起作用。)
我认为这对我确认是什么解决了我的案例中的问题可能有帮助。npm
当我的一位团队成员使用而不是expo
(默认为yarn
)来安装依赖项时,出现了问题。yarn.lock
这导致了和之间的同步问题package-lock.json
。仅此一点不会造成太大问题,因为简单的yarn
oryarn install <dependency>
就可以解决问题。然而,这种依赖关系恰好需要预先存在的依赖关系,这些依赖关系的版本与我的博览会版本“预期”的版本不同。这个IDBIndex
错误是如何触发的对我来说仍然是个谜,但最终我所要做的就是删除所有锁定文件,然后node_modules
执行expo update
并最终重新yarn
安装所有现在兼容的软件包。
如果任何人偶然发现这个答案都可以给出一个可能的解释来解释为什么这个问题是固定的,那将不胜感激。
归档时间: |
|
查看次数: |
3573 次 |
最近记录: |