找不到模块 '@firebase/app-types/private' - Firebase 抛出错误

Cannot find module '@firebase/app-types/private' - Firebase throws error

我正在使用 angular 和 firebase 开发应用程序。我按照现场给出的说明安装了firebase,版本如下,

"angularfire2": "^5.0.0-rc.4",
"firebase": "^4.8.1",

但是出现如下错误

ERROR in node_modules/@firebase/database/dist/esm/src/api/Database.d.ts(4,33): error TS2307: Cannot find module '@firebase/app-types/private'. node_modules/@firebase/database/dist/esm/src/core/AuthTokenProvider.d.ts(17,39): error TS2307: Cannot find module '@firebase/app-types/private'.

known issue 最新的 npm firebase 包 (v4.8.1) 有问题。

您需要将您的 firebase 版本回滚到 4.8.0。这是类型定义的问题,从 4.8.0 更新到 4.8.1 后不再有效。

要解决这个问题,

第 1 步: 使用以下命令卸载

npm uninstall --save firebase

第 2 步: 现在,打开您的 package.json 文件。在那里,你会发现:

"angularfire2": "^5.0.0-rc.4"

第 3 步: 在这一行下面,添加这一行(没有 Caret(^) 符号):并保存

"firebase": "4.8.0"

第 4 步: 现在执行 npm 安装。您的应用应该可以运行

最新更新

此特定问题已通过拉取请求 #391 解决。 Ionic 团队还将回滚出现此问题的部分更改,因此您应该不会在下一个版本中再看到该问题。

解法:

1. 在 package.json 中,从 "firebase": "^4.8.1"

中删除 ^

1.1 通过将 4.8.1 更改为 4.8.0,将 Firebase 从 4.8.1 降级到 4.8.0

1.2 最终结果应该是这样的:"firebase": "4.8.0"

2. 运行 npm update 在项目根目录中。 NPM 将为你降级 Firebase

3. 运行 ng serve --open 检查编译错误。应该没有。

4.尽情享受吧!

原因:

Firebase 引入了一些 AngularFire2 尚未处理的重大更改。在 AngularFire2 团队解决之前,这就是解决方案。

firebase 版本 4.8.2 适合我:

"angularfire2": "^5.0.0-rc.4",
"firebase": "4.8.2",

更新April/2018:

package.json:

"angularfire2": "^5.0.0-rc.6",
"firebase": "^4.12.1",

npm 安装