【问题标题】:Angular2 beta 11 'npm install' warnings npm peerDependenciesAngular2 beta 11 'npm install' 警告 npm peerDependencies
【发布时间】:2016-03-18 22:26:00
【问题描述】:

刚刚安装 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"
  }, 

有什么想法吗?

【问题讨论】:

    标签: angular npm-install


    【解决方案1】:

    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
    • 手动安装缺少的依赖项

    【讨论】:

      【解决方案2】:

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

      查看此链接了解更多详情:

      【讨论】:

        【解决方案3】:

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

        NPM 3 倍:

        1. peerDependencies 将不再隐式安装,如果它们是 还不是依赖项或 devDependency。这是最大的 更改,并且是最有可能需要开发人员的部分 干预。
        2. 无效或缺少 peerDependencies 将是一个警告而不是 错误。这将意味着 peerDependencies 的违规行为将 留给开发者去整理,但是peerDependency 不兼容对消费者来说应该不会那么痛苦,因为 由于依赖性问题,安装量将显着减少 经常。

        【讨论】:

          猜你喜欢
          • 2017-08-24
          • 1970-01-01
          • 2015-02-25
          • 2018-12-01
          • 1970-01-01
          • 2019-04-05
          • 2021-12-05
          • 1970-01-01
          • 2016-06-04
          相关资源
          最近更新 更多