属性' automaticDataCollectionEnabled'类型' FirebaseApp'中缺少

时间:2018-04-22 06:33:59

标签: angular firebase angular2-services

我们用

安装了角火基地
npm install firebase angularfire2 --save

发生此错误

ERROR in node_modules/angularfire2/firebase.app.module.d.ts(10,22): error TS2420: Class 'FirebaseApp' incorrectly implements interface 'FirebaseApp'.
Property 'automaticDataCollectionEnabled' is missing in type 'FirebaseApp'.

我该如何解决?

8 个答案:

答案 0 :(得分:12)

我会建议直接修改您的node_modules。这是不必要的和不好的做法,因为您的更改将被更新覆盖。

使用最新firebase@4.13.1angularfire2@5.0.0-rc.6的组合时,似乎发生了错误。

<强>解决方案:

有些人建议降级firebase软件包,但更好的选择可能是安装@firebase/app@^0.1.10,修复了我的错误。

注意:

最新的firebase 4.13.1引入了我已经实现的Firestore Timestamp / Date对象的一些更改,如果降级firebase包,则必须还原。

答案 1 :(得分:11)

这项工作对我而言。编辑firebase.app.module.d.ts文件

export declare class FirebaseApp implements FBApp {
name: string;
options: {};
automaticDataCollectionEnabled: boolean; // this is the missing line
auth: () => FirebaseAuth;
database: () => FirebaseDatabase;
messaging: () => FirebaseMessaging;
storage: () => FirebaseStorage;
delete: () => Promise<any>;
firestore: () => FirebaseFirestore;
}

还添加@ firebase / app

npm i -S @firebase/app

修改

安装"angularfire2": "^5.0.0-rc.7"

解决了这个问题

只需运行npm install angularfire2@latest

答案 2 :(得分:5)

尝试在package.json

中使用这些依赖项
"dependencies": {
 "firebase":"4.12.1",
 "angularfire2":"^5.0.0-rc.6",
 "@firebase/app": "^0.1.10" 
}

答案 3 :(得分:3)

当我将firebase升级到4.13.1

时,发生了这种情况

要解决此问题,我将angularfire2更新为^5.0.0-rc.7.0-next

我的依赖关系看起来像:

"dependencies":{
"angularfire2": "^5.0.0-rc.7.0-next",
"firebase": "^4.13.1",
}

答案 4 :(得分:1)

你也可以改变 node_modules \ angularfire2 \ firebase.app.module.d.ts

  

export declare class FirebaseApp implements FBApp {
    name: string;
    options: {};
    auth: () => FirebaseAuth;
    database: () => FirebaseDatabase;
    messaging: () => FirebaseMessaging;
    storage: () => FirebaseStorage;
    delete: () => Promise<any>;
    firestore: () => FirebaseFirestore;
}
  

export declare class FirebaseApp implements FBApp {
    name: string;
    automaticDataCollectionEnabled: boolean;
    options: {};
    auth: () => FirebaseAuth;
    database: () => FirebaseDatabase;
    messaging: () => FirebaseMessaging;
    storage: () => FirebaseStorage;
    delete: () => Promise<any>;
    firestore: () => FirebaseFirestore;
}

它应该解决这个问题,直到angularfire提出解决方案:)

修改

Angularfire2应该附带解决方案tmrw所以我会考虑设置一个计时器来明天更新库:) https://github.com/angular/angularfire2/issues/1576

答案 5 :(得分:0)

尝试并回滚cli

npm install @firebase/app@0.1.10

答案 6 :(得分:0)

如果您正在使用AngularFire 5.0.0-rc.3与大于4.6.0的任何版本的firebase不兼容

所以在package.json中添加这些

"angularfire2": "5.0.0-rc.3", "firebase": "4.6.0",

并运行npm install

答案 7 :(得分:0)

我得到同样的错误:

node_modules / angularfire2 / firebase.app.module.d.ts(10,22)中的错误:错误TS2420:类'FirebaseApp'错误地实现了接口'FirebaseApp'。   “FirebaseApp”类型中缺少属性“automaticDataCollectionEnabled”。

解决方案是将FBapp实现为“firebase.app.module / ts”。为此添加以下代码:

"automaticDataCollectionEnabled: boolean;"

将firebase.app文件放入FBApp部分