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

时间:2017-12-23 02:38:41

标签: angular firebase npm angularfire angularfire2

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

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

但是出现以下错误

  

错误   node_modules/@firebase/database/dist/esm/src/api/Database.d.ts(4.33):   错误TS2307:找不到模块' @ firebase / app-types / private'。   node_modules/@firebase/database/dist/esm/src/core/AuthTokenProvider.d.ts(17,39):   错误TS2307:找不到模块' @ firebase / app-types / private'。

4 个答案:

答案 0 :(得分:44)

known issue ,这是最新的npm firebase软件包(v4.8.1)的问题。

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

要修复此问题,

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

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

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

"firebase": "4.8.0"

第3步: 在此行下方,添加一行(不带Caret(^)符号):并保存

(key, element2 + element3)
(1, List(2.0, 3.0, 4.0, 5.0)), (2, List(1.0, -1.0, -2.0, -3.0))

第4步: 现在做一个npm安装。您的应用应该可以使用

最新更新

嘿伙计们!使用提取请求 #391 解决了此特定问题。离子团队也将回滚部分变化,因此您不应该在下一个版本中看到问题。

答案 1 :(得分:5)

更新于2018年4月:

的package.json:

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

npm install

答案 2 :(得分:3)

<强>解决方案:

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团队解决之前,这将是解决方案。

答案 3 :(得分:2)

firebase版本4.8.2适用于我:

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