You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Firebase实现Google登录时signInWithPopup不是函数错误怎么解决?

解决方案
  • 确认Firebase版本匹配
    你当前使用的是Firebase v9及以上版本的模块化API语法,如果本地安装的是v8及更低版本的firebase包,就会出现该导出不存在的错误。
    执行npm list firebase查看已安装的版本:
    • 若版本<9.0.0:可以选择升级到最新稳定版,执行npm install firebase@latest即可;也可以改用v8版本的对应语法:
      // v8版本写法参考
      import firebase from 'firebase/app'
      import 'firebase/auth'
      
      const googlelogin = async () => {
        const provider = new firebase.auth.GoogleAuthProvider()
        try {
          const result = await firebase.auth().signInWithPopup(provider)
        } catch (e) {
          console.log(e)
        }
      }
      
    • 若版本≥9.0.0:先尝试清除依赖缓存重新安装:删除项目根目录的node_modules文件夹、package-lock.json(或yarn.lock)文件,再重新执行npm install安装所有依赖。
  • 确认Firebase初始化逻辑正确
    必须在调用getAuth()之前完成Firebase应用的初始化,示例初始化代码需要放在所有Auth相关逻辑执行前:
import { initializeApp } from "firebase/app";
// 替换为你自己的Firebase项目配置
const firebaseConfig = {
  apiKey: "YOUR_API_KEY",
  authDomain: "YOUR_AUTH_DOMAIN",
  projectId: "YOUR_PROJECT_ID",
  storageBucket: "YOUR_STORAGE_BUCKET",
  messagingSenderId: "YOUR_SENDER_ID",
  appId: "YOUR_APP_ID"
};

initializeApp(firebaseConfig);
  • 重启开发服务
    如果是开发环境下出现该问题,尝试停止当前开发服务后重新启动,同时清除本地缓存,避免旧编译产物导致的异常。

内容的提问来源于stack exchange,提问作者user003

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 01:36:04