Angular2 beta 11  npm install'警告npm peerDependencies

时间:2016-03-18 22:26:00

标签: angular npm-install

刚刚安装了Angular2 beta 11 npm install angular2 --save并收到了此警告:

d:\Projects\sample>npm install angular2 --save
sample@1.0.0 d:\Projects\sample
+-- angular2@2.0.0-beta.11
+-- UNMET PEER DEPENDENCY es6-promise@^3.0.2
+-- UNMET PEER DEPENDENCY es6-shim@^0.35.0
+-- UNMET PEER DEPENDENCY reflect-metadata@0.1.2
+-- UNMET PEER DEPENDENCY rxjs@5.0.0-beta.2
`-- UNMET PEER DEPENDENCY zone.js@^0.6.4

npm WARN angular2@2.0.0-beta.11 requires a peer of es6-promise@^3.0.2 but none was installed.
npm WARN angular2@2.0.0-beta.11 requires a peer of es6-shim@^0.35.0 but none was installed.
npm WARN angular2@2.0.0-beta.11 requires a peer of reflect-metadata@0.1.2 but none was installed.
npm WARN angular2@2.0.0-beta.11 requires a peer of rxjs@5.0.0-beta.2 but none was installed.
npm WARN angular2@2.0.0-beta.11 requires a peer of zone.js@^0.6.4 but none was installed.

以前的Angular2版本将依赖项es6-promise es6-shim rxjs zone.js安装到主package.js但现在不是。

"dependencies": {
    "angular2": "^2.0.0-beta.11"
  } 

我检查了..\node_modules\angular2\package.json并且可以看到它依赖于这些包:

    "peerDependencies": {
    "es6-promise": "^3.0.2",
    "es6-shim": "^0.35.0",
    "reflect-metadata": "0.1.2",
    "rxjs": "5.0.0-beta.2",
    "zone.js": "^0.6.4"
  }, 

有什么想法吗?

3 个答案:

答案 0 :(得分:5)

使用npm install angular2 --save失败后,我刚用这个命令成功安装了angular2:

npm install --save rxjs@5.0.0-beta.6 reflect-metadata@0.1.2 zone.js es6-shim angular2@2.0.0-beta.17

如果我们获得UNMET PEER DEPENDENCY - 在清除node_modules文件夹并从package.json中删除依赖项之后 - 我们可以做两件事:

  • 安装一些早期版本的angular2
  • 手动安装缺少的依赖项

答案 1 :(得分:1)

这意味着Angular2需要这些依赖项(使用正确的版本)才能工作。您需要将它们放在项目依赖项中。

有关详细信息,请参阅此链接:

答案 2 :(得分:0)

看起来答案就在https://github.com/npm/npm/issues/6565

NPM 3x:

  
      
  1. 如果他们不再隐式安装peerDependencies   还不是依赖项或devDependency。这是最大的   变化,是最有可能需要开发人员的   干预。
  2.   
  3. peerDependencies无效或缺失将是警告而不是   错误。这将意味着peerDependencies会出现异常   留给开发人员进行整理,但是peerDependency   对于消费者而言,不兼容性应该不那么痛苦,因为   由于依赖问题显着减少,安装将会纾困   频繁。
  4.