【问题标题】:npm ERR! peerinvalid during npm install step of Angular 2 Quickstartnpm 错误!在 Angular 2 快速入门的 npm 安装步骤中 peerinvalid
【发布时间】:2016-03-17 14:43:45
【问题描述】:

我在 OS X (El Capitan) 上安装了 node v4.4.0 和 npm v2.14.20。

我正在按照 Angular 2 官方网站上的 5 Min Quickstart - ts 页面上描述的步骤进行操作。

但是当我执行npm install 时遇到以下错误。

npm ERR! peerinvalid The package es6-shim@0.35.0 does not satisfy its siblings' peerDependencies requirements!
npm ERR! peerinvalid Peer angular2@2.0.0-beta.9 wants es6-shim@^0.33.3

为了能够隔离问题,这是我所做的。

  1. 创建一个空的项目文件夹。
  2. 在空文件夹上,我使用空值执行了npm init,以生成一个空的package.json
  3. 我已将以下依赖项添加到我的 package.json。

    "dependencies": {
      "angular2": "2.0.0-beta.9",
      "es6-shim": "^0.35.0"
    }
    
  4. 我执行了npm install 并观察到上述相同的错误。

这是/node_modules/angular2package.json里面的peerDependencies

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

考虑到 es6-shim 对等依赖的 ^0.33.3 版本要求,不应该使用版本 0.35.0 正确安装 es6-shim 吗?我没看到的问题是什么?

【问题讨论】:

    标签: angular npm-install


    【解决方案1】:

    我有同样的问题,除了我有 Windows10。 我通过将我的 Node.js 从 4.4.1 LTS 升级到 5.9.0 Stable 解决了这个问题。

    【讨论】:

      【解决方案2】:

      试试这个版本的package.json,应该可以的

      {
        "name": "angular2-quickstart",
        "version": "1.0.0",
        "scripts": {
          "start": "concurrently \"npm run tsc:w\" \"npm run lite\" ",
          "tsc": "tsc",
          "tsc:w": "tsc -w",
          "lite": "lite-server",
          "typings": "typings",
          "postinstall": "typings install"
        },
        "license": "ISC",
        "dependencies": {
          "angular2": "2.0.0-beta.9",
          "systemjs": "0.19.24",
          "es6-promise": "^3.0.2",
          "es6-shim": "^0.33.3",
          "reflect-metadata": "0.1.2",
          "rxjs": "5.0.0-beta.2",
          "zone.js": "0.5.15"
        },
        "devDependencies": {
          "concurrently": "^2.0.0",
          "lite-server": "^2.1.0",
          "typescript": "^1.8.7",
          "typings":"^0.7.5"
        }
      }
      

      【讨论】:

      • 想解释一下这有何不同或为什么有效?
      • @aboveyou00 这个 package.json 只是利用了之前版本的 es6-shim (0.33.3) 。最后一条错误消息使这很容易调用:npm ERR! peerinvalid Peer angular2@2.0.0-beta.9 wants es6-shim@^0.33.3
      【解决方案3】:

      package.json

      {
        "name": "angular2-quickstart",
        "version": "1.0.0",
        "scripts": {
          "start": "concurrently \"npm run tsc:w\" \"npm run lite\" ",
          "tsc": "tsc",
          "tsc:w": "tsc -w",
          "lite": "lite-server",
          "typings": "typings",
          "postinstall": "typings install"
        },
        "license": "ISC",
        "dependencies": {
          "angular2": "2.0.0-beta.10",
          "systemjs": "0.19.24",
          "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"
        },
        "devDependencies": {
          "concurrently": "^2.0.0",
          "lite-server": "^2.1.0",
          "typescript": "^1.8.7",
          "typings":"^0.7.5",
          "grunt"                : "^0.4.5",
          "grunt-contrib-clean"  : "^1.0.0",
          "grunt-contrib-concat" : "^1.0.0",
          "grunt-contrib-sass"   : "^0.9.2",
          "grunt-contrib-watch"  : "^0.6.1"
        }
      }
      

      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"
        },
      

      不确定我上面所做的一切是否完全正确。 但到目前为止它正在工作

      我认为最近的更新 (https://github.com/angular/quickstart/blob/master/package.json) 导致了这个问题。

      编辑:基本上变化是:

      • “angular2”:“2.0.0-beta.10”
      • "es6-shim": "^0.35.0",
      • “zone.js”:“^0.6.4”

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-07-28
        • 1970-01-01
        • 2017-08-01
        • 2016-08-12
        • 2021-06-05
        • 2016-04-11
        • 2023-03-15
        相关资源
        最近更新 更多