我在我的 Next.js 和 Firebase 项目之一上收到以下错误:
Error: Service firestore is not available
。我的代码库自上次运行以来没有更改,并且我没有更改任何 Firebase 配置或设置。
请在下面找到我的配置文件:
// Import the functions you need from the SDKs you need
import { getApps, initializeApp } from 'firebase/app';
import { EmailAuthProvider, getAuth } from 'firebase/auth';
import { getFirestore } from 'firebase/firestore';
import { getStorage } from 'firebase/storage';
// TODO: Add SDKs for Firebase products that you want to use
// https://firebase.google.com/docs/web/setup#available-libraries
// Your web app's Firebase configuration
const firebaseConfig = {
apiKey: process.env.NEXT_PUBLIC_FIREBASE_API_KEY,
authDomain: process.env.NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN,
projectId: process.env.NEXT_PUBLIC_FIREBASE_PROJECT_ID,
storageBucket: process.env.NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET,
messagingSenderId: process.env.NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID,
appId: process.env.NEXT_PUBLIC_FIREBASE_APP_ID,
measurementId: process.env.NEXT_PUBLIC_FIREBASE_MEASUREMENT_ID,
};
// Initialize Firebase
const firebaseApp =
getApps().length === 0 ? initializeApp(firebaseConfig) : getApps()[0];
const auth = getAuth(firebaseApp);
const db = getFirestore(firebaseApp);
const provider = new EmailAuthProvider();
const storage = getStorage(firebaseApp);
export { auth, db, provider, storage };
export default firebaseApp;
有什么线索可能导致此问题吗?我在这里看到过其他类似的问题但没有答案。
我尝试研究这个问题,但结果一片空白。
这篇文章/答案有帮助:firebase 服务存储不可用 - React Js
检查您使用的 Firebase 版本是否正确:
npm ls @firebase/app
有些软件包正在使用非常旧版本的 Firebase!如果正在使用旧版本的 Firebase,您可能需要删除/移除依赖项!
@stripe/firestore-stripe-payments
是我的问题。
删除锁定文件、
node_modules
文件夹并重新安装文件。不要忘记重新启动服务器。
如果您使用的是
firestore-stripe-payments
软件包,它似乎已经腐烂了。那么您可能会发现这篇文章很有用:https://medium.com/firebase-developers/processing- payments-in-firebase-with-stripe-e90c816f02d0