Par exemple, lorsque j'installe Angular2:
npm install --save angular2
temp@1.0.0 /Users/doug/Projects/dougludlow/temp
├── angular2@2.0.0-beta.3
├── UNMET PEER DEPENDENCY es6-promise@^3.0.2
├── UNMET PEER DEPENDENCY es6-shim@^0.33.3
├── UNMET PEER DEPENDENCY reflect-metadata@0.1.2
├── UNMET PEER DEPENDENCY rxjs@5.0.0-beta.0
└── UNMET PEER DEPENDENCY zone.js@0.5.11
npm WARN angular2@2.0.0-beta.3 requires a peer of es6-promise@^3.0.2 but none was installed.
npm WARN angular2@2.0.0-beta.3 requires a peer of es6-shim@^0.33.3 but none was installed.
npm WARN angular2@2.0.0-beta.3 requires a peer of reflect-metadata@0.1.2 but none was installed.
npm WARN angular2@2.0.0-beta.3 requires a peer of rxjs@5.0.0-beta.0 but none was installed.
npm WARN angular2@2.0.0-beta.3 requires a peer of zone.js@0.5.11 but none was installed.
Existe-t-il un indicateur magique que je peux transmettre à npm qui installera également les dépendances entre pairs? Je n'ai pas pu en trouver un ... C'est fastidieux de copier et coller manuellement les dépendances des pairs et de m'assurer d'avoir les bonnes versions.
En d'autres termes, je préfère ne pas avoir à faire:
npm install --save angular2@2.0.0-beta.3 es6-promise@^3.0.2 es6-shim@^0.33.3 reflect-metadata@0.1.2 rxjs@5.0.0-beta.0 zone.js@0.5.11
Quelle est la meilleure façon?
[email protected]
nécessitees6-promise@^3.0.2
). Cependant, je veux savoir s'il existe une commande / indicateur qui installe automatiquement les dépendances entre pairs.npm -v
=>3.5.3
Réponses:
L'installation automatique des dépendances entre pairs 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 avec npm 3 vers le haut.
la source
extraneous
Je l'ai résolu en réécrivant package.json avec les valeurs exactes que les avertissements concernaient:
package.json: "es6-shim": "^ 0.33.3",
package.json: "réfléchir-métadonnées": "0.1.2",
la source
npm cache clean
,npm install
peut-être mieux que d'essuyer les modules node_modules? Je m'abstiens toujours de supprimer node_modules, j'aime découvrir quel est le problème plutôt que de faire sauter le répertoire.npm install --cache /tmp/empty-cache
pour utiliser un cache temporaire au lieu de nuquer le réel. npm ERR! npm ERR! Si vous êtes sûr de vouloir supprimer l'intégralité du cache, réexécutez cette commande avec --force.Code de triche utile dans ce scénario et quelques autres ...
├── DÉPENDANCE DES PAIRS NON RÉPONDU @ angulaire / commun @ 4.0.2
├── UNMET PEER DEPENDENCY @ angular / compiler @ 4.0.2
├── UNMET PEER DEPENDENCY @ angular / compiler-cli @ 4.0.2
├── LA DÉPENDANCE DES PAIRS NON RÉPONDUE @ angulaire / noyau @ 4.0.2
├── LA DÉPENDANCE DES PAIRS NON RÉPUTÉE @ angulaire / formulaires @ 4.0.2
├── LA DÉPENDANCE DES PAIRS UNMET @ 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 / compiler @ 4.0.2 @ angular / compiler-cli @ 4.0.2 @ angular / core @ 4.0.2 @ angular / forms @ 4.0.2 @ angular / http @ 4.0 .2 @ angular / platform-browser @ 4.0.2 @ angular / platform-browser-dynamic @ 4.0.2 --save
la source
--save
n'est évidemment plus requise à partir de npm 5.0.0: stackoverflow.com/a/19578808/12484Le projet
npm-install-peers
détectera les pairs et les installera.À ce jour,
v1.0.1
il ne prend pas en charge l'écriturepackage.json
automatique, ce qui résoudrait essentiellement notre besoin ici.Veuillez ajouter votre assistance pour un problème en vol: https://github.com/spatie/npm-install-peers/issues/4
la source
This package doesn't seem to have any peerDependencies
npm-install-peers
installerapeerDependencies
enregistré enpackage.json
. Il n'installera paspeerDependencies
de dépendances telles queangular2
.npm-install-peers
est uniquement destiné à l'installation de la"peerDependencies"
liste dans le package.json de votre projet. Vous essayez d'installer les fichiers"peerDependencies"
répertoriés dans chacun de vosnode_modules/<package>/package.json
fichiers, pas vos dépendances directes entre pairs.J'ai rencontré ces erreurs lorsque je développais un package npm
peerDependencies
. Je devais m'assurer que touspeerDependencies
étaient également répertoriés commedevDependencies
. Le projet n'utiliserait pas automatiquement les packages installés globalement.la source
Installez le fil puis lancez
yarn global add install-peerdeps
la source
Exécutez ceci:
npm install-test
la source