2016-03-17 4 views
4

У меня есть узел v4.4.0 и npm v2.14.20, установленный на OS X (El Capitan).npm ERR! peerinvalid во время установки npm установки Angular 2 Quickstart

Я следую шагам, описанным на странице 5 Min Quickstart - ts, которые доступны на официальном сайте Angular 2.

Однако при выполнении npm install я сталкиваюсь с следующей ошибкой.

npm ERR! peerinvalid The package [email protected] does not satisfy its siblings' peerDependencies requirements! 
npm ERR! peerinvalid Peer [email protected] wants [email protected]^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 и наблюдать ту же ошибку выше.

Это peerDependencies внутри package.json из /node_modules/angular2

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

Учитывая требование ^0.33.3 версии для ES6-регулировочной шайбой пэра зависимости, не должна ES6-прокладки быть установлено штрафом с версией 0.35.0? В чем проблема, которую я не вижу?

ответ

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.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" 
    } 
} 
+1

Помогите объяснить, как это иначе или почему это работает? – aboveyou00

+0

@ aboveyou00 Этот пакет.json просто использовал предыдущую версию es6-shim (0.33.3). Последнее сообщение об ошибке сделало этот простой вызов: 'npm ERR!peerinvalid Peer [email protected] хочет es6-shim @^0.33.3' – Mehdi

0

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) вызывает эту проблему.

Edit: В основном изменения:

  • "angular2": "2.0.0-beta.10"
  • "ES6-регулировочная шайба": "^ 0.35.0",
  • " zone.js ":"^0.6.4 "
7

У меня была та же проблема, за исключением того, что у меня есть Windows10. Я решил его, обновив свой Node.js с 4.4.1 LTS до 5.9.0 Stable.

Смежные вопросы