Свойство 'automaticDataCollectionEnabled' отсутствует в типе 'FirebaseApp'
Мы установили угловую базу с
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'.
Как я могу это решить?
Ответы
Ответ 1
Я бы посоветовал не изменять ваш node_modules
напрямую. Это ненужная и плохая практика, так как ваши изменения будут перезаписаны обновлениями.
Op ошибка, кажется, происходит при использовании комбинации новейших [email protected]
и [email protected]
.
Решение:
Некоторые предлагают понизить пакет firebase
, но лучшим вариантом может быть установка @firebase/[email protected]^0.1.10
которая исправила ошибки в моем случае.
Замечания:
Последняя firebase 4.13.1
представляет некоторые изменения в объектах Timestamp/Date Firestore, которые я уже реализовал, и должен был бы вернуться, если вы firebase
пакет firebase
.
Ответ 2
Эта работа для меня. Редактировать файл 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 [email protected]
Ответ 3
Попробуйте использовать эти зависимости в package.json
"dependencies": {
"firebase":"4.12.1",
"angularfire2":"^5.0.0-rc.6",
"@firebase/app": "^0.1.10"
}
Ответ 4
Это случилось со мной, когда я обновил 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",
}
Ответ 5
Вы также можете изменить 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
Ответ 6
Попробуйте и откат через cli
npm install @firebase/[email protected]
Ответ 7
Если вы работаете с AngularFire 5.0.0-rc.3, это несовместимо с любой версией firebase, большей, чем 4.6.0
поэтому добавьте их в package.json
"angularfire2": "5.0.0-rc.3", "firebase": "4.6.0",
и запустить npm install
Ответ 8
я получаю ту же ошибку:
ОШИБКА в node_modules/angularfire2/firebase.app.module.d.ts(10,22): ошибка TS2420: Class 'FirebaseApp' неправильно реализует интерфейс FirebaseApp. Свойство "automaticDataCollectionEnabled" отсутствует в типе "FirebaseApp".
Решение реализует FBapp в "firebase.app.module/ts". Для этого добавьте следующий код:
"automaticDataCollectionEnabled: boolean;"
внутри файла firebase.app в раздел FBApp