【问题标题】:Angular 4, angularfire2, Metadata version mismatchAngular 4,angularfire2,元数据版本不匹配
【发布时间】:2018-05-06 14:24:55
【问题描述】:

我遇到以下错误

模块 c:/..../node_modules/angularfire2/index.d.ts 的元数据版本不匹配,找到版本 4,预期为 3。

如果我去检查我的 package.json,我在 5.0.0-rc.4 版本上有 angularfire2,在 4.6.2 上有 firebase。 see screenshot for details

我尝试将 angularfire2 和 firebase 的版本更改为以前的版本,但没有任何效果。

有什么建议吗? 谢谢。

{
  "name": "twitter-revamped",
  "version": "0.0.0",
  "license": "MIT",
  "scripts": {
    "ng": "ng",
    "start": "ng serve",
    "build": "ng build",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e"
  },
  "private": true,
  "dependencies": {
    "@angular/animations": "^4.2.4",
    "@angular/common": "^4.2.4",
    "@angular/compiler": "^4.2.4",
    "@angular/core": "^4.2.4",
    "@angular/forms": "^4.2.4",
    "@angular/http": "^4.2.4",
    "@angular/platform-browser": "^4.2.4",
    "@angular/platform-browser-dynamic": "^4.2.4",
    "@angular/router": "^4.2.4",
    "angularfire2": "^5.0.0-rc.4",
    "core-js": "^2.4.1",
    "firebase": "^4.6.2",
    "ng2-semantic-ui": "^0.9.6",
    "rxjs": "<5.4.2",
    "zone.js": "^0.8.14"
  },
  "devDependencies": {
    "@angular/cli": "1.4.7",
    "@angular/compiler-cli": "^4.2.4",
    "@angular/language-service": "^4.2.4",
    "@types/jasmine": "~2.5.53",
    "@types/jasminewd2": "~2.0.2",
    "@types/node": "~6.0.60",
    "codelyzer": "~3.2.0",
    "jasmine-core": "~2.6.2",
    "jasmine-spec-reporter": "~4.1.0",
    "karma": "~1.7.0",
    "karma-chrome-launcher": "~2.1.1",
    "karma-cli": "~1.0.1",
    "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": "~3.2.0",
    "tslint": "~5.7.0",
    "typescript": "~2.3.3"
  }
}

【问题讨论】:

    标签: angular firebase angularfire2


    【解决方案1】:

    angularfire2 5.0.0-rc.4 应该与 firebase 4.5.0 和 angular 5.0.0

    一起使用

    检查angularfire2 package.json

    "firebase": "^4.5.0"
    

    【讨论】:

    • 将角度从 4.2.4 升级到 5.0.0
    • 同样的问题请帮忙!
    【解决方案2】:

    我解决了

    必须为此设置 firebase 和 angularfire2:

    "firebase":"4.6.0", "angularfire2": "5.0.0-rc.3"

    但后来我又遇到了另一个错误:
    "@angular/compiler-cli" package was not properly installed. Error: Error: Cannot find module '@angular/compiler-cli'

    npm install 修复了它。

    【讨论】:

    • 您使用的是哪个版本的 Angular?你介意分享你的 package.json 吗?
    • 执行此操作后出现新错误,> firebaseui-angular.d.ts,找到版本 4,预期为 3
    【解决方案3】:

    我遇到了同样的问题,但通过在你的 package.json 文件中将 angularfire2 上的候选发布版本更改回 3 (如 "angularfire2": "^5.0.0-rc.3")从 "angularfire2": "^5.0.0-rc.4" 解决了这个问题。然后删除节点模块并运行npm i or npm install

    或者你可以卸载 angularfire2,确保你也从你的 package.json 和 package.json.lock 文件中删除它。重新安装它并指定候选版本,如npm install angularfire2@5.0.0-rc.3 --save

    【讨论】:

      【解决方案4】:

      这就是我解决这个问题的方法。按照我列出的步骤操作:

      第 1 步:卸载之前安装的 angularfire2 包

      npm uninstall angularfire2

      第 2 步:安装 angularfire2 5.0.0-rc.3

      npm install angularfire2@5.0.0-rc.3 --save

      第 3 步:检查您的 package.json

      确保 package.json 的依赖项下有以下几行

      "angularfire2": "^5.0.0-rc.3",
      "firebase": "^4.6.0",
      

      这就是我解决问题的方法。

      【讨论】:

        【解决方案5】:

        我遇到了同样的问题。将 angularfire2 的版本降级到“5.0.0-rc.3”对我有用。

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

        【讨论】:

          【解决方案6】:

          我尝试了上述解决方案,但没有解决我的问题。我尝试了以下步骤,它解决了我的问题。

          问题实际上是在运行npm install angularfire2 firebase --save 命令时发生的。 package.json 中添加了以下依赖项

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

          这里的实际问题是由于 angularfire2 的版本造成的。我们需要 angularfire2": "^5.0.0-rc.3 而不是 angularfire2": "^5.0.0-rc.4。我不知道为什么这个版本有问题。

          以下是解决步骤:

          第 1 步:卸载 angularfire2 和 firebase

          npm uninstall angularfire2 firebase --save
          

          第 2 步:安装 angularfire2 5.0.0-rc.3 版本

          npm install angularfire2@5.0.0-rc.3 --save
          

          第 3 步:安装 firebase

          npm install firebase --save
          

          第 4 步:检查 package.json 中添加的依赖项

          "angularfire2": "^5.0.0-rc.3",
          "firebase": "^4.7.0"
          

          第 5 步:执行服务

          ng serve
          

          这解决了问题并且应用程序编译成功。

          【讨论】:

          • 我试过这个解决方案,第一次没用。注意到 firebase 版本是 4.8.1。再次卸载此版本并安装 4.7.0 版本。清除了我的 npm 缓存并开始工作.. 谢谢..
          【解决方案7】:

          按照步骤 - 将解决问题
          1. npm 卸载 angularfire2 firebase --save
          2. npm install angularfire2@5.0.0-rc.3 --save
          3. npm install firebase --save
          4. 服务

          【讨论】:

            【解决方案8】:

            当我在安装yarn upgarde 之后执行ng serve 时,我也发生了这个错误:

              angularfire2@5.0.0-rc.5-next
              firebase@4.13.1
            

            降级到angularfire2@5.0.0-rc.3 解决了这个问题:

              yarn remove angularfire2
              yarn add angularfire2@5.0.0-rc.3
            

            angularfire2@5.0.0-rc.4 不能与新的firabase 一起使用,看到这种没完没了的升级麻烦感觉不对。

            【讨论】:

              猜你喜欢
              • 2018-04-17
              • 2018-06-28
              • 2018-05-28
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2018-06-26
              • 1970-01-01
              • 2018-01-19
              相关资源
              最近更新 更多