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

Expo Snack中Firebase依赖解析失败:无法解析firebase@10.12.1

Expo Snack中Firebase依赖解析失败的解决办法

问题描述

在Expo Snack开发React Native应用时,安装任何版本的Firebase(包括之前可用的8.0.0版)都提示:Failed to resolve dependency 'firebase@x.x.x' (Network request failed)

解决步骤

1. 排查网络环境

Snack依赖npm仓库拉取包,可能是你的网络代理、防火墙限制了访问,或者Snack的依赖服务器临时故障。可以试试切换到手机热点,或者隔一段时间再重试。

2. 改用Expo适配的Firebase包

直接安装官方firebase包在Snack里容易出现兼容性问题,建议用Expo官方维护的expo-firebase-*系列包,这些是专门适配Expo环境的:

  • 修改package.json的依赖项:
{
  "dependencies": {
    "expo": "~48.0.0",
    "react": "18.2.0",
    "react-dom": "18.2.0",
    "react-native": "0.72.4",
    "expo-firebase-core": "~16.0.1",
    "expo-firebase-firestore": "~17.0.1",
    "@babel/runtime": "^7.18.9"
  },
  "devDependencies": {
    "@types/react": "~17.0.21",
    "@types/react-native": "~0.64.12",
    "typescript": "~4.3.5"
  }
}
  • 调整Firebase初始化代码:
import firebase from 'expo-firebase-app';
import 'expo-firebase-firestore';

const firebaseConfig = {
  apiKey: "",
  authDomain: "",
  projectId: "",
  storageBucket: "",
  messagingSenderId: "",
  appId: ""
};

// 避免重复初始化
if (!firebase.apps.length) {
  firebase.initializeApp(firebaseConfig);
}
const db = firebase.firestore();

export { db };

3. 清理Snack缓存

在Snack编辑器右上角的菜单中选择「Clear Cache」,重新加载项目后再尝试安装依赖,有时候缓存会导致依赖解析异常。

4. 确认版本兼容性

确保所选的Firebase相关包版本和你的Expo版本(48.0.0)匹配:

  • Expo 48对应的expo-firebase-core版本是16.x,expo-firebase-firestore是17.x,上面的配置已经匹配,不要随意升级或降级。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 08:05:05