Je suis sur Windows 10, avec Node 5.6.0 et npm 3.6.0. J'essaie d'installer angular-material et mdi dans mon dossier de travail. npm installe les erreurs mdi de matériau angulaire avec:
+-- angular@1.5.0
+-- UNMET PEER DEPENDENCY angular-animate@^1.5.0
+-- UNMET PEER DEPENDENCY angular-aria@^1.5.0
+-- angular-material@1.0.6
+-- UNMET PEER DEPENDENCY angular-messages@^1.5.0 `-- mdi@1.4.57
npm WARN enoent ENOENT: no such file or directory, open
'C:\Users\xxxxx\Desktop\ngClassifieds\package.json'
npm WARN angular-material@1.0.6 requires a peer of
angular-animate@^1.5.0 but none was installed.
npm WARN angular-material@1.0.6 requires a peer of angular-aria@^1.5.0
but none was installed.
npm WARN angular-material@1.0.6 requires a peer of
angular-messages@^1.5.0 but none was installed.
Comment résoudre ce problème pour installer AngularJS Material et MDI?
Réponses:
npm n'installe plus les dépendances entre pairs, vous devez donc les installer manuellement, faites simplement une
npm install
sur les dep nécessaires, puis essayez de réinstaller la principale.Répondre au commentaire:
c'est juste dans ce message, il dit quel deps vous manque
Vous devez donc
npm install angular angular-animate angular-aria angular-material angular-messages mdi
la source
package.json
?--save
commutateur npm mettra à jour votre package.json pour vous (ou--save-dev
si le package est une dépendance de développement)UNMET PEER DEPENDENCY
erreur est levée lorsque les dépendances d'un ou plusieurs modules spécifiés dans lepackage.json
fichier ne sont pas respectées. Vérifiez attentivement les avertissements et mettez à jour lepackage.json
fichier avec les versions correctes des dépendances.Ensuite, exécutez
Cela installera correctement toutes les dépendances requises.
la source
Dans mon cas, toutes les dépendances étaient déjà là. Veuillez mettre à jour NPM dans ce cas car il pourrait avoir été bloqué. Cela a résolu mon problème.
la source
UNMET PEER DEPENDENCY typescript
lors de la tentative d'installationtslint
. une fois la mise à jour du npm effectuée, il fallait d'abord installer typscript puis installer tslint.npm-install-peers a fonctionné pour moi.
la source
L'une des causes les plus possibles de cette erreur pourrait être que vous avez défini une version plus ancienne dans votre package.json. Pour résoudre ce problème, modifiez les versions dans le package.json pour correspondre à celles dont se plaint npm.
Une fois terminé, exécutez npm install et le tour est joué !!.
la source
Cette réponse ne s'applique pas à tous les cas, mais si vous ne pouvez pas résoudre l'erreur en tapant simplement
npm install
, cette étape peut vous aider.Disons que vous avez cette erreur.
Cela signifie que vous avez installé la version 4.2.0 de packageA, mais [email protected] a besoin de la version 3.xx de pakageA. ( explication de ^ )
Vous pouvez donc résoudre cette erreur en rétrogradant packageA vers 3.xx, mais vous ne souhaitez généralement pas rétrograder le package.
La bonne nouvelle est que, dans certains cas, packageB ne suit tout simplement pas packageA et que le mainteneur de packageB s'efforce de faire passer la dépendance des pairs de packageA à 4.xx
Dans ce cas, vous pouvez vérifier s'il existe une version supérieure de packageB qui nécessite la version 4.2.0 de packageA dans le npm ou le github.
Par exemple, allez à la page de publication
Souvent, vous pouvez trouver des changements de rupture sur la dépendance comme celui-ci.
Si vous ne trouvez rien sur la page de publication, accédez à la page de publication et recherchez le problème par mot-clé comme
peer
. Vous pouvez trouver des informations utiles.À ce stade, vous avez deux options.
1) Mettre à niveau vers la version souhaitée
2) Laisser une erreur pour le moment, attendre la sortie de la version stable.
Si vous choisissez l'option 1:
Dans de nombreux cas, la version n'a pas de
latest
tag donc pas stable. Vous devez donc vérifier ce qui a changé dans cette mise à jour et vous assurer que rien ne se cassera.Si vous choisissez l'option 2:
si la mise à niveau de pakageA de la version 3 à 4 est triviale, ou si le responsable de pakageB n'a pas encore testé la version 4 de pakageA mais dit que cela ne devrait pas poser de problème, vous pouvez envisager de laisser l'erreur.
Dans les deux cas, il est préférable de tester soigneusement s'il ne casse rien.
Enfin, si vous voulez savoir pourquoi vous devez faire manuellement une telle chose, ce lien explique bien.
la source
Ok donc j'ai eu du mal pendant longtemps à essayer de comprendre cela. Voici l' option nucléaire , pour quand vous avez épuisé toutes les autres voies.
Lorsque vous avez terminé et que cela fonctionne toujours, importez votre code réel dans ce nouveau projet. Correction des erreurs de compilation de la nouvelle version des causes angulaires.
C'est ce qui a fait pour moi .. 1 heure de retravail vs 6 heures d'essayer de comprendre que wtf était mauvais .. j'aurais aimé le faire de cette façon pour commencer ..
la source
La réponse donnée ne fonctionnera pas toujours. Si cela ne résout pas votre problème. Assurez-vous que vous utilisez également le bon symbole dans votre
package.json
. C'est très important pour résoudre ce mal de tête. Par exemple:Donc, mon dactylographié doit être compris entre 2.4.2 et 2.6, n'est-ce pas?
J'ai donc changé ma bibliothèque de dactylographie de l'aide
"typescript": "^2.7"
à l'utilisation"typescript": "^2.5"
. Semble correct?Faux.
Les
^
moyens que vous êtes d' accord avec NPM en utilisant"typescript": "2.5"
ou"2.6"
ou"2.7"
etc ...Si vous voulez savoir ce
^
que~
cela signifie, voyez: Quelle est la différence entre tilde (~) et caret (^) dans package.json?Vous devez également vous assurer que le package existe. Peut-être n'y a-t-il pas de
"typescript": "2.5.9"
recherche des numéros de colis. Pour être vraiment sûr, supprimez simplement le~
ou le^
si vous ne voulez pas lire ce qu'ils signifient.la source
library-one
) utilise par exemple un pair depackage@<2.6
et l'autre (library-two
) un pair depackage@>2.7
? Puis-je finir par devoir gérer deux versions depackage
dans ma base de code? Comment saurai-je que lorsque je l'utilise,library-one
je dois l'utiliser avec[email protected]
pendant que lorsque j'utilise,library-two
je dois l'utiliser avec[email protected]
?Disponible aujourd'hui Angular 2 rc.7 , et j'ai eu un problème similaire avec
[email protected]
UNMET PEER DEPENDENCY.Si vous, comme moi, tout simplement remplacé
@angular/...rc.6
à@angular/...rc.7
- il ne suffit pas. Parce que, par exemple,@angular/router
n'a pas derc.6
version.Dans ce cas, mieux examiner package.json dans Démarrage rapide
la source
vous pouvez résoudre en installant les dépendances UNMET globalement.
exemple: npm install -g @ angular / common @ 4.4.6
installez chacun un par un. ça a marché pour moi.
la source