重新安装 NPM 包后的一系列 Ionic / Firebase AngularFire2 错误

Series of Ionic / Firebase AngularFire2 Errors After Reinstalling NPM Packages

在 ionic 应用程序中,所有 npm 包都已删除并使用 npm install 重新安装。现在 运行 ionic serve 显示大约一打错误,主要与 firebase 和 angularfire2 有关。

要调试,

  1. 我已经卸载并重新安装了 angularfire2 和 firebase
  2. 我仔细检查了 tsconfig.json 文件,它看起来与错误开始前一样
  3. 我已经重启了服务器

然而,还是什么都没有....

还有一些与不可用的对等依赖项相关的 npm 警告,我在下面附加了这些警告,我不太确定如何处理...

这是主应用程序的 package.json 依赖项列表:

"dependencies": {
    "@angular/compiler": "^4.4.4",
    "@angular/compiler-cli": "^4.4.4",
    "@angular/core": "^4.4.4",
    "@angular/forms": "^4.4.4",
    "@angular/http": "^4.4.4",
    "@angular/platform-browser": "^4.4.4",
    "@angular/platform-browser-dynamic": "^4.4.4",
    "@ionic-native/app-availability": "^4.3.0",
    "@ionic-native/call-number": "^4.3.0",
    "@ionic-native/clipboard": "^4.3.0",
    "@ionic-native/core": "^4.3.0",
    "@ionic-native/device": "^4.3.0",
    "@ionic-native/facebook": "^4.3.0",
    "@ionic-native/geolocation": "^4.3.0",
    "@ionic-native/in-app-browser": "^4.3.0",
    "@ionic-native/sms": "^4.3.0",
    "@ionic-native/social-sharing": "^4.3.0",
    "@ionic-native/splash-screen": "^4.3.0",
    "@ionic-native/status-bar": "^4.3.0",
    "@ionic/storage": "2.0.1",
    "angularfire2": "^5.0.0-rc.1",
    "babel-code-frame": "^6.26.0",
    "call-number": "^1.0.1",
    "chalk": "^2.1.0",
    "cordova-android": "^6.3.0",
    "cordova-browser": "^5.0.0",
    "cordova-clipboard": "^1.1.0",
    "cordova-ios": "^4.5.1",
    "cordova-plugin-appavailability": "^0.4.2",
    "cordova-plugin-compat": "^1.2.0",
    "cordova-plugin-console": "^1.1.0",
    "cordova-plugin-device": "^1.1.6",
    "cordova-plugin-facebook4": "^1.9.1",
    "cordova-plugin-geolocation": "^2.4.3",
    "cordova-plugin-queries-schemes": "^0.1.5",
    "cordova-plugin-splashscreen": "^4.0.3",
    "cordova-plugin-statusbar": "^2.2.3",
    "cordova-plugin-whitelist": "^1.3.2",
    "cordova-plugin-x-socialsharing": "^5.2.0",
    "cordova-sms-plugin": "^0.1.11",
    "debug": "^3.1.0",
    "es6-promise-plugin": "^4.1.1",
    "firebase": "^4.5.0",
    "ionic-angular": "^3.7.1",
    "ionic-plugin-keyboard": "^2.2.1",
    "ionicons": "3.0.0",
    "ios-sim": "^6.1.2",
    "json5": "^0.5.1",
    "minimatch": "^3.0.4",
    "promise-polyfill": "6.0.2",
    "rxjs": "^5.4.3",
    "sw-toolbox": "3.6.0",
    "zone.js": "^0.8.18"
},
"devDependencies": {
    "@angular/common": "^4.4.3",
    "@ionic/app-scripts": "3.0.0",
    "install": "^0.10.1",
    "npm": "^5.5.0",
    "typescript": "^2.5.3"
},
"peerDependencies": {},

好的,在@alltej 的帮助下解决此问题后,我似乎对 npm update 命令不够小心,导致 AngularFire2 和 Firebase npm 包都升级到主要版本号更改的版本,导致一些破坏性的变化。

例如,在整个应用程序中使用的 FirebaseObjectObservable 在版本 5 中已被弃用。回滚到以前的版本解决了这个问题/

对于 angularfire2 版本 5.0.0+,不推荐使用 FirebaseListObservableFirebaseObjectObservable。请恢复到 4.0.0.+ 版本