重新安装 NPM 包后的一系列 Ionic / Firebase AngularFire2 错误
Series of Ionic / Firebase AngularFire2 Errors After Reinstalling NPM Packages
在 ionic 应用程序中,所有 npm 包都已删除并使用 npm install 重新安装。现在 运行 ionic serve 显示大约一打错误,主要与 firebase 和 angularfire2 有关。
要调试,
- 我已经卸载并重新安装了 angularfire2 和 firebase
- 我仔细检查了 tsconfig.json 文件,它看起来与错误开始前一样
- 我已经重启了服务器
然而,还是什么都没有....
还有一些与不可用的对等依赖项相关的 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+,不推荐使用 FirebaseListObservable
和 FirebaseObjectObservable
。请恢复到 4.0.0.+ 版本
在 ionic 应用程序中,所有 npm 包都已删除并使用 npm install 重新安装。现在 运行 ionic serve 显示大约一打错误,主要与 firebase 和 angularfire2 有关。
要调试,
- 我已经卸载并重新安装了 angularfire2 和 firebase
- 我仔细检查了 tsconfig.json 文件,它看起来与错误开始前一样
- 我已经重启了服务器
然而,还是什么都没有....
还有一些与不可用的对等依赖项相关的 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+,不推荐使用 FirebaseListObservable
和 FirebaseObjectObservable
。请恢复到 4.0.0.+ 版本