ошибка angular: не удается найти модуль ‘firebase / app’

#angular #firebase #npm

#angular #firebase #npm

Вопрос:

Я пытаюсь следовать codelab из Google здесь: https://codelabs.developers.google.com/codelabs/firebase-cloud-functions-angular/index.html?index=../..index#5

когда я пытаюсь собрать проект: ng build —prod, я получил следующую ошибку:

ОШИБКА в node_modules/@angular/fire/database/interfaces.d.ts (2,26): ошибка TS2307: не удается найти модуль ‘firebase / app’.

package.json

  "dependencies": {
    "@angular/animations": "^5.2.0",
    "@angular/cdk": "^5.2.0",
    "@angular/common": "^5.2.0",
    "@angular/compiler": "^5.2.0",
    "@angular/core": "^5.2.0",
    "@angular/fire": "^5.1.1",
    "@angular/forms": "^5.2.0",
    "@angular/http": "^5.2.0",
    "@angular/material": "^5.2.0",
    "@angular/platform-browser": "^5.2.0",
    "@angular/platform-browser-dynamic": "^5.2.0",
    "@angular/router": "^5.2.0",
    "angularfire2": "^5.0.0-rc.6.0",
    "core-js": "^2.4.1",
    "firebase": "^5.8.6",
    "rxjs": "^5.5.6",
    "tslib": "^1.9.0",
    "zone.js": "^0.8.19"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "~0.13.0",
    "@angular/cli": "^7.3.5",
    "@angular/compiler-cli": "^5.2.0",
    "@angular/language-service": "^5.2.0",
    "@types/jasmine": "~2.8.3",
    "@types/jasminewd2": "~2.0.2",
    "@types/node": "~6.0.60",
    "codelyzer": "^4.0.1",
    "jasmine-core": "~2.8.0",
    "jasmine-spec-reporter": "~4.2.1",
    "karma": "~2.0.0",
    "karma-chrome-launcher": "~2.2.0",
    "karma-coverage-istanbul-reporter": "^1.2.1",
    "karma-jasmine": "~1.1.0",
    "karma-jasmine-html-reporter": "^0.2.2",
    "protractor": "~5.1.2",
    "ts-node": "~4.1.0",
    "tslint": "~5.9.1",
    "typescript": "~2.5.3"
  }
  

ng —version выдает:

 @angular-devkit/architect         0.13.5
@angular-devkit/build-angular     0.13.5
@angular-devkit/build-optimizer   0.13.5
@angular-devkit/build-webpack     0.13.5
@angular-devkit/core              7.3.5
@angular-devkit/schematics        7.3.5
@angular/cdk                      5.2.5
@angular/cli                      7.3.5
@angular/fire                     5.1.1
@angular/material                 5.2.5
@ngtools/webpack                  7.3.5
@schematics/angular               7.3.5
@schematics/update                0.13.5
rxjs                              5.5.12
typescript                        2.5.3
webpack                           4.29.0
  

firebase —версия
6.4.0

Я попытался выполнить поиск в stackoverflow и попробовать несколько вещей, которые не работают:

 npm uninstall firebase
npm install firebase@4.8.0
rm -rf node_modules
npm install
  

или попробуйте использовать новейшую firebase:

 npm uninstall firebase
npm install firebase
rm -rf node_modules
npm install
  

также не работает.

Я бы действительно оценил любую помощь, An

Ответ №1:

AngularFire переместился в @angular/fire . В вашем package.json у вас есть "angularfire2": "^5.0.0-rc.6.0" (старая версия) и "@angular/fire": "^5.1.1"

Прочитайте документы Angularfire и убедитесь, что вы используете совместимую версию

Комментарии:

1. спасибо за ваш ответ, итак, если я правильно понимаю, что вы имеете в виду: версия, указанная в package.json, является старой версией, поэтому я должен изменить свою firebase на более раннюю версию?

Ответ №2:

Вам необходимо установить зависимость firebase, как определено в файле package.json :

Пример: установка npm firebase@4.3.0

Ответ №3:

Я работаю над входом в систему и использую nuxt.js это выдало мне следующую ошибку:

 Cannot find module 'firebase / compat / app' 17:26:42 Require stack: - /home/script/nuxt-firebase-auth/node_modules/@nuxtjs/firebase/lib/module.js
  

Поскольку вы используете angular и I nuxt, измените только версию зависимости

 "@ nuxtjs / firebase": "^ 8.0.0"
  

Для

 "@ nuxtjs / firebase": "^ 7.6.1"