所有 React Native Firebase 模块必须具有相同的版本 - 不能使用 Auth



我从Inverse提供的入门套件中安装了RNF。我正在使用RNF应用程序、数据库、分析、身份验证。一切都很好,直到我需要auth模块。它在应用程序启动时抛出错误(在Android上,尚未尝试iOS(:

...node_modulesreact-nativeLibrariesCoreExceptionsManager.js:86 
You've attempted to require '@react-native-firebase/auth' version '6.0.3', however, 
the '@react-native-firebase/app' module is of a different version (6.0.0).
All React Native Firebase modules must be of the same version. 
Please ensure they match up in your package.json file and re-run yarn/npm install.

但我检查了所有模块的package.json都是6.0.3版本,我的package.json看起来也不错:

{
"name": "meditationapp",
"version": "6.0.3",
"private": true,
"scripts": {
"start": "react-native start",
"run:android": "react-native run-android",
"run:ios": "react-native run-ios --simulator="iPhone 11 Pro Max"",
"build:apk": "cd android && ./gradlew assembleRelease",
"test": "jest",
"prepare": "patch-package",
"storybook": "start-storybook -p 7007"
},
"dependencies": {
"@react-native-community/async-storage": "^1.6.2",
"@react-native-community/netinfo": "^4.4.0",
"@react-native-firebase/analytics": "6.0.3",
"@react-native-firebase/app": "6.0.3",
"@react-native-firebase/auth": "6.0.3",
"@react-native-firebase/database": "6.0.3",
"@typescript-eslint/eslint-plugin": "^2.3.3",
"@typescript-eslint/parser": "^2.3.3",
...

在App.tsx:中导入

import firebase from '@react-native-firebase/app'
import database from '@react-native-firebase/database'
import analytics from '@react-native-firebase/analytics'
import auth from '@react-native-firebase/auth'

我尝试过的东西:

  1. 删除node_modules并运行npm install
  2. 已安装v6.0.0而不是6.0.3
  3. 已删除android/app/build

想不出其他尝试,但错误并没有消失。它在分析和数据库方面运行良好,只有身份验证是个问题。

我也遇到了同样的问题。您应该注意,@react-native-firebase/...的所有包都等于@react-native-firebase/app

要解决这个问题,您需要先使用update the relevant packages,然后使用reset the npm cache:

  1. npm update @react-native-firebase/app
  2. npm update @react-native-firebase/analytics
  3. npm update @react-native-firebase/..//所有firebase包(已更新(

并最终重置npm缓存

  1. npm start -- --reset-cache

我用创建了一个项目

npx @react-native-community/cli init --template=@react-native-firebase/template <name>

我遇到了这个问题。但后来我创建了一个类似react-native init <name>的基本项目,并安装了

@react-native-firebase/app @react-native-firebase/auth

或任何产品,问题得到了改善。

发现这是缓存的一个问题。

  1. 我删除了npm缓存和metro bundler缓存(手动操作,在Windows上位于C:\Users<user>\Appdata\Roaming(
  2. 删除了项目中的node_modules文件夹
  3. 运行npm install

该项目现在拥有6.0.3 版本的所有RNF模块

相关内容

  • 没有找到相关文章

最新更新