Добавление @ angular / fire к angular 12
Я пытаюсь добавить @angular / fire в свой проект Angular 12, чтобы развернуть его на Firebase. Я использовал cli, чтобы добавить @angular / fire, который я запускаю:
ng add @angular/fire
Вот результат, который я получаю:
ℹ Using package manager: npm
✔ Found compatible package version: @angular/fire@0.0.0.
✔ Package information loaded.
The package @angular/fire@0.0.0 will be installed and executed.
Would you like to proceed? Yes
✔ Package successfully installed.
The package that you are trying to add does not support schematics. You can try using a different version of the package or contact the package author to add ng-add support.
Я пробовал использовать npm для установки зависимости:
npm i @angular/fire
Вот результат:
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: '@angular/animations@12.0.0',
npm WARN EBADENGINE required: { node: '^12.14.1 || ^14.0.0' },
npm WARN EBADENGINE current: { node: 'v16.1.0', npm: '7.13.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: '@angular/common@12.0.0',
npm WARN EBADENGINE required: { node: '^12.14.1 || ^14.0.0' },
npm WARN EBADENGINE current: { node: 'v16.1.0', npm: '7.13.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: '@angular/compiler@12.0.0',
npm WARN EBADENGINE required: { node: '^12.14.1 || ^14.0.0' },
npm WARN EBADENGINE current: { node: 'v16.1.0', npm: '7.13.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: '@angular/compiler-cli@12.0.0',
npm WARN EBADENGINE required: { node: '^12.14.1 || ^14.0.0' },
npm WARN EBADENGINE current: { node: 'v16.1.0', npm: '7.13.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: '@angular/core@12.0.0',
npm WARN EBADENGINE required: { node: '^12.14.1 || ^14.0.0' },
npm WARN EBADENGINE current: { node: 'v16.1.0', npm: '7.13.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: '@angular/forms@12.0.0',
npm WARN EBADENGINE required: { node: '^12.14.1 || ^14.0.0' },
npm WARN EBADENGINE current: { node: 'v16.1.0', npm: '7.13.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: '@angular/platform-browser@12.0.0',
npm WARN EBADENGINE required: { node: '^12.14.1 || ^14.0.0' },
npm WARN EBADENGINE current: { node: 'v16.1.0', npm: '7.13.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: '@angular/platform-browser-dynamic@12.0.0',
npm WARN EBADENGINE required: { node: '^12.14.1 || ^14.0.0' },
npm WARN EBADENGINE current: { node: 'v16.1.0', npm: '7.13.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: '@angular/router@12.0.0',
npm WARN EBADENGINE required: { node: '^12.14.1 || ^14.0.0' },
npm WARN EBADENGINE current: { node: 'v16.1.0', npm: '7.13.0' }
npm WARN EBADENGINE }
up to date, audited 1388 packages in 6s
3 moderate severity vulnerabilities
To address all issues (including breaking changes), run:
npm audit fix --force
Run `npm audit` for details.
Вот мой package.json:
{
"name": "ng-jumbo-fire",
"version": "0.0.0",
"scripts": {
"ng": "ng",
"start": "ng serve",
"build": "ng build",
"test": "ng test",
"lint": "ng lint",
"e2e": "ng e2e"
},
"private": true,
"dependencies": {
"@angular/animations": "~12.0.0",
"@angular/cdk": "^11.2.12",
"@angular/common": "~12.0.0",
"@angular/compiler": "~12.0.0",
"@angular/core": "~12.0.0",
"@angular/fire": "^0.0.0",
"@angular/forms": "~12.0.0",
"@angular/material": "^11.2.12",
"@angular/platform-browser": "~12.0.0",
"@angular/platform-browser-dynamic": "~12.0.0",
"@angular/router": "~12.0.0",
"rxjs": "~6.6.0",
"tslib": "^2.0.0",
"zone.js": "~0.11.4"
},
"devDependencies": {
"@angular-devkit/build-angular": "^0.1102.13",
"@angular/compiler-cli": "~12.0.0",
"@types/jasmine": "~3.6.0",
"@types/node": "^12.11.1",
"codelyzer": "^6.0.0",
"jasmine-core": "~3.6.0",
"jasmine-spec-reporter": "~5.0.0",
"karma": "~6.3.2",
"karma-chrome-launcher": "~3.1.0",
"karma-coverage": "~2.0.3",
"karma-jasmine": "~4.0.0",
"karma-jasmine-html-reporter": "^1.5.0",
"protractor": "~7.0.0",
"ts-node": "~8.3.0",
"tslint": "~6.1.0",
"typescript": "~4.2.4"
}
}
Как мне его установить. Я заметил, что @angular / fire находится в версии 0.0.0. Папка .node_modules / @angular / fire пуста. Буду признателен за любую помощь.
2 ответа
Если вы проверите матрицу совместимости, она еще не полностью поддерживается Angular 12. Так что вам может быть лучше использовать Angular 11.
Источник: https://github.com/angular/angularfire#compatibility
Для Angular 12 ниже зависимости с такой версией решили мои проблемы.
Установите firebase версии 7.0 || 8.0 и @ angular / fire версии 6.1.5 .
Зависимости папки package.json должны выглядеть так:
"dependencies": {
...
"@angular/fire": "^6.1.5",
"firebase": "^7.0 || ^8.0"
}
app.module.ts
import { AngularFireModule } from '@angular/fire';
import { AngularFirestoreModule } from '@angular/fire/firestore';
imports: [
...
AngularFireModule.initializeApp(firebaseConfig),
AngularFirestoreModule
],