我们用
安装了角火基地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'.
我该如何解决?
答案 0 :(得分:12)
我会建议直接修改您的node_modules
。这是不必要的和不好的做法,因为您的更改将被更新覆盖。
使用最新firebase@4.13.1
和angularfire2@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部分