错误! peer dep missing: zone.js@^0.7.2 - 但安装了 zone.js 0.8.4

npm ERR! peer dep missing: zone.js@^0.7.2 - but zone.js 0.8.4 installed

当我通过 npm ls 命令获取我的包裹列表时,我看到了这个警报:

npm ERR! peer dep missing: zone.js@^0.7.2, required by @angular/core@2.4.10

这是我的 package.json 依赖项:

  "dependencies": {
    "@angular/common": "2.4.x",
    "@angular/compiler": "2.4.x",
    "@angular/core": "2.4.x",
    "@angular/forms": "2.4.x",
    "@angular/http": "2.4.x",
    "@angular/platform-browser": "2.4.x",
    "@angular/platform-browser-dynamic": "2.4.x",
    "@angular/router": "3.4.x",
    "angular-in-memory-web-api": "0.3.x",
    "systemjs": "0.20.x",
    "core-js": "2.4.x",
    "rxjs": "5.2.x",
    "zone.js": "0.8.x"
  }

注意最后一行 "zone.js": "0.8.x"
我检查了 semantic-versioning guide。 条件 ^0.7.2 适用于我的 "zone.js": "0.8.x"(现在我有 0.8.4 版本的 zone.js)。 我说得对吗?

这里是 MyProjectFolder\node_modules\@angular\core\package.json 中的 peerDependencies 部分:

"peerDependencies": {
    "rxjs": "^5.0.1",
    "zone.js": "^0.7.2"
}

rxjs 没有任何提醒,但我的 package.json 中有 5.2.0 版本。

我的 Windows 10 机器中的应用程序版本:

node -v
v6.9.2

npm -v
4.4.1

Caret Ranges

Allows changes that do not modify the left-most non-zero digit in the [major, minor, patch] tuple.

由于最左边的非零值在使用插入符号时无法更改,因此 ^0.7.20.8.x 不匹配。仅允许版本 >=0.7.2<0.8.0

您需要将要求更改为 0.7.x 范围内的内容。