Nous avons installé angular firebase avec
npm install firebase angularfire2 --save
Et cette erreur s'est produite
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'.
Comment puis-je le résoudre?
Je voudrais déconseiller modifier votre node_modules
directement. C'est une pratique inutile et mauvaise, car vos modifications seront remplacées par des mises à jour.
L'erreur d'Op semble se produire lors de l'utilisation d'une combinaison de la dernière [email protected]
et [email protected]
.
Solution:
Certains suggèrent de rétrograder le package firebase
, mais une meilleure option pourrait être d'installer @firebase/app@^0.1.10
qui a corrigé les erreurs dans mon cas.
Remarque:
La dernière base de feu 4.13.1
introduit quelques modifications aux objets Firestore Timestamp/Date, que j'avais déjà implémentés, et que je devrais annuler en cas de rétrogradation du package firebase
.
Ce travail pour moi. Modifier le fichier 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;
}
ajoutez également @ firebase/app
npm i -S @firebase/app
MODIFIER
Le problème est résolu en installant "angularfire2": "^5.0.0-rc.7"
Exécutez simplement npm install angularfire2@latest
Essayez d'utiliser ces dépendances dans package.json
"dependencies": {
"firebase":"4.12.1",
"angularfire2":"^5.0.0-rc.6",
"@firebase/app": "^0.1.10"
}
Cela m'est arrivé lorsque j'ai mis à niveau Firebase vers 4.13.1
Pour résoudre ce problème, j'ai mis à jour angularfire2 en ^5.0.0-rc.7.0-next
Et mes dépendances ressemblent à:
"dependencies":{
"angularfire2": "^5.0.0-rc.7.0-next",
"firebase": "^4.13.1",
}
Vous pouvez également modifier node_modules\angularfire2\firebase.app.module.d.ts
Avant
export declare class FirebaseApp implements FBApp {
name: string;
options: {};
auth: () => FirebaseAuth;
database: () => FirebaseDatabase;
messaging: () => FirebaseMessaging;
storage: () => FirebaseStorage;
delete: () => Promise<any>;
firestore: () => FirebaseFirestore;
}
Après
export declare class FirebaseApp implements FBApp {
name: string;
automaticDataCollectionEnabled: boolean;
options: {};
auth: () => FirebaseAuth;
database: () => FirebaseDatabase;
messaging: () => FirebaseMessaging;
storage: () => FirebaseStorage;
delete: () => Promise<any>;
firestore: () => FirebaseFirestore;
}
cela devrait résoudre ce problème jusqu'à ce qu'angularfire trouve une solution :)
Modifier
Angularfire2 devrait venir avec une solution tmrw donc j'envisagerais de régler une minuterie pour mettre à jour la bibliothèque demain :) https://github.com/angular/angularfire2/issues/1576
j'ai la même erreur:
ERREUR dans node_modules/angularfire2/firebase.app.module.d.ts (10,22): erreur TS2420: la classe 'FirebaseApp' implémente incorrectement l'interface 'FirebaseApp'. La propriété 'automaticDataCollectionEnabled' est manquante dans le type 'FirebaseApp'.
La solution consiste à implémenter le FBapp dans "firebase.app.module/ts". Pour cela ajoutez le code ci-dessous:
"automaticDataCollectionEnabled: boolean;"
à l'intérieur du fichier firebase.app dans la section FBApp
Essayez de faire défiler le cli
npm install @firebase/[email protected]
Si vous travaillez avec AngularFire 5.0.0-rc.3 est incompatible avec toute version de Firebase supérieure à 4.6.0
alors ajoutez-les dans package.json
"angularfire2": "5.0.0-rc.3", "firebase": "4.6.0",
et courir npm install