刚刚安装了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"
},
有什么想法吗?
答案 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中删除依赖项之后 - 我们可以做两件事:
答案 1 :(得分:1)
这意味着Angular2需要这些依赖项(使用正确的版本)才能工作。您需要将它们放在项目依赖项中。
有关详细信息,请参阅此链接:
答案 2 :(得分:0)
看起来答案就在https://github.com/npm/npm/issues/6565
NPM 3x:
- 如果他们不再隐式安装peerDependencies 还不是依赖项或devDependency。这是最大的 变化,是最有可能需要开发人员的 干预。
- peerDependencies无效或缺失将是警告而不是 错误。这将意味着peerDependencies会出现异常 留给开发人员进行整理,但是peerDependency 对于消费者而言,不兼容性应该不那么痛苦,因为 由于依赖问题显着减少,安装将会纾困 频繁。
醇>