Свойство '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