Firebase 抛出错误:找不到模块:错误:默认条件应该是最后一个

Tim*_*çek 10 google-analytics firebase crashlytics angularfire angular

有趣的是,从今天早上开始,我已经使用了AngularCrashlytics(from @angular/fire)一段时间,我无法得到buildor ,ng serve这会引发如下错误。有人可以帮助我摆脱这个吗?

在此输入图像描述

app.module已经添加了@angular/fire相关的配置步骤,如下所示(取自https://github.com/angular/angularfire/blob/master/docs/analytics/getting-started.md

import { AngularFireModule } from '@angular/fire/compat';
import { AngularFireAnalyticsModule } from '@angular/fire/compat/analytics';

imports:[
AngularFireModule.initializeApp(environment.Tools.Firebase)//firebase releated config,
AngularFireAnalyticsModule
]
Run Code Online (Sandbox Code Playgroud)

我有如下提到的配置ng version 在此输入图像描述

package.json 中的依赖版本

"firebase": "^9.14.0",
"@angular/fire": "^7.4.1"
Run Code Online (Sandbox Code Playgroud)

附加说明:已经从头开始克隆的项目多次尝试删除node modules文件夹,npm install此外还尝试将 firebase 和 @angular/fire 升级到最新版本,但没有解决问题。

小智 1

我想问题来自这里的依赖关系:node_modules/@angular/fire/package.json

"dependencies": {
  "firebase": "^9.8.0",
Run Code Online (Sandbox Code Playgroud)

如此处所述: https: //github.com/firebase/firebase-js-sdk/issues/7005#issuecomment-1415807037

删除版本中的 ^ 为我解决了这个问题。

我在我的项目 package.json 中这样做来覆盖它:

{
  "name": "myproject",
  "version": "0.0.0",
  "scripts": ...
  "dependencies": ...
  "devDependencies": {
    ...
  },  
  "overrides": {
    "@angular/fire": {
      "firebase": "9.8.0"
    }
  },
Run Code Online (Sandbox Code Playgroud)

然后运行“npm install”来应用它。

应该在“@angular/fire”的下一个版本中修复。