Par exemple, lorsque j'installe Angular2:
npm install --save angular2
[email protected] /Users/doug/Projects/dougludlow/temp
├── [email protected]
├── UNMET PEER DEPENDENCY es6-promise@^3.0.2
├── UNMET PEER DEPENDENCY es6-shim@^0.33.3
├── UNMET PEER DEPENDENCY [email protected]
├── UNMET PEER DEPENDENCY [email protected]
└── UNMET PEER DEPENDENCY [email protected]
npm WARN [email protected] requires a peer of es6-promise@^3.0.2 but none was installed.
npm WARN [email protected] requires a peer of es6-shim@^0.33.3 but none was installed.
npm WARN [email protected] requires a peer of [email protected] but none was installed.
npm WARN [email protected] requires a peer of [email protected] but none was installed.
npm WARN [email protected] requires a peer of [email protected] but none was installed.
Existe-t-il un indicateur magique que je peux transmettre à npm qui installera également les dépendances entre homologues? Je n'ai pas réussi à en trouver une ... C'est fastidieux de copier et de coller manuellement les dépendances entre homologues et de s'assurer que j'ai les bonnes versions.
En d'autres termes, je préférerais ne pas avoir à faire:
npm install --save [email protected] es6-promise@^3.0.2 es6-shim@^0.33.3 [email protected] [email protected] [email protected]
Quelle est la meilleure façon?
L'installation automatique des dépendances entre homologues a été explicitement supprimée avec npm 3, car elle pose plus de problèmes qu'elle n'a tenté de résoudre. Vous pouvez lire à ce sujet ici par exemple:
Donc non, pour les raisons données, vous ne pouvez pas les installer automatiquement à partir de npm 3.
Je l'ai résolu en réécrivant package.json avec les valeurs exactes que les avertissements concernaient:
npm WARN [email protected] requires a peer of es6-shim@^0.33.3 but none was installed.
package.json: "es6-shim": "^ 0.33.3",
npm WARN [email protected] requires a peer of [email protected]
package.json: "reflect-metadata": "0.1.2",
Delete node_modules directory
npm install
Le code de triche utile dans ce scénario et quelques autres ...
DE DÉPENDANCE DES PAIRS UNMET @ angulaire/commune @ 4.0.2
├── UNMET PEER DEPENDENCY @ angular/compiler @ 4.0.2
├── UNMET PEER DEPENDENCY @ angular/compiler-cli @ 4.0.2
DE DÉPENDANCE DES PAIRS UNMET @ angular/core @ 4.0.2
DE DÉPENDANCE DES PAIRS UNMET @ angular/forms @ 4.0.2
├── UNMET PEER DEPENDENCY @ angular/http @ 4.0.2
├── UNMET PEER DEPENDENCY @ angular/platform-browser @ 4.0.2
├── UNMET PEER DEPENDENCY @ angular/platform-browser-dynamic @ 4.0.2>
npm install @ angular/common @ 4.0.2 @ angular/compilateur @ 4.0.2 @ angular/compiler-cli @ 4.0.2 @ angular/noyau @ 4.0.2 @ angular/formes @ 4.0.2 @ angular/http @ 4.0 .2 @ angular/platform-browser @ 4.0.2 @ @ angular/platform-browser-dynamic @ 4.0.2 --save
Le projet npm-install-peers
détectera les homologues et les installera.
À partir de _v1.0.1
_, il ne prend pas en charge l'écriture automatique vers _package.json
_, ce qui résoudrait essentiellement notre besoin ici.
S'il vous plaît ajouter votre soutien pour émettre en vol: https://github.com/spatie/npm-install-peers/issues/4