Je me suis retrouvé dans un cycle d'erreurs presque sans fin lorsque j'essayais de mettre à jour mes CLI et NPM Angular. Chaque fois que je mets à jour, des messages WARN m'invitent à installer des dépendances entre homologues (voir ci-dessous), mais chaque fois que j'installe une dépendance, je reçois davantage de messages WARN. Y a-t-il une meilleure façon de gérer cette situation ou prend-elle sérieusement des heures?
npm WARN @angular/[email protected] requires a peer of @angular/[email protected]
but none is installed. You must install peer dependencies yourself.
npm WARN @angular/[email protected] requires a peer of TypeScript@>=2.4.2
<2.6 but none is installed. You must install peer dependencies yourself.
npm WARN @ng-bootstrap/[email protected] requires a peer of
@angular/core@^4.0.3 but none is installed. You must install peer
dependencies yourself.
npm WARN @ng-bootstrap/[email protected] requires a peer of
@angular/common@^4.0.3 but none is installed. You must install peer
dependencies yourself.
npm WARN @ng-bootstrap/[email protected] requires a peer of
@angular/forms@^4.0.3 but none is installed. You must install peer
dependencies yourself.
npm WARN @schematics/[email protected] requires a peer of @angular-
devkit/[email protected] but none is installed. You must install peer dependencies
yourself.
npm WARN @schematics/[email protected] requires a peer of @angular-
devkit/[email protected] but none is installed. You must install peer
dependencies yourself.
npm WARN @schematics/[email protected] requires a peer of @angular-
devkit/[email protected] but none is installed. You must install peer dependencies
yourself.
npm WARN [email protected] requires a peer of
@angular/core@^4.0.1 but none is installed. You must install peer
dependencies yourself.
npm WARN [email protected] requires a peer of
@angular/common@^4.0.1 but none is installed. You must install peer
dependencies yourself.
npm WARN [email protected] requires a peer of @angular/platform-
browser@^4.0.0 but none is installed. You must install peer dependencies
yourself.
npm WARN [email protected] requires a peer of
@angular/animations@^4.0.1 but none is installed. You must install peer
dependencies yourself.
npm WARN [email protected] requires a peer of [email protected] - 3 but none
is installed. You must install peer dependencies yourself.
npm WARN [email protected] requires a peer of popper.js@^1.12.3 but
none is installed. You must install peer dependencies yourself.
npm WARN [email protected] requires a peer of @angular/core@^2.4.7 || ^4.0.0
but none is installed. You must install peer dependencies yourself.
npm WARN [email protected] requires a peer of @angular/core@^2.4.0 ||
^4.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN [email protected] requires a peer of @angular/common@^2.4.0 ||
^4.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN [email protected] requires a peer of TypeScript@>=2.4.2 <2.6 but none
is installed. You must install peer dependencies yourself.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected]
(node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for
[email protected]: wanted {"os":"darwin","Arch":"any"} (current:
{"os":"win32","Arch":"x64"})
Je sais que je dois faire quelque chose de mal, mais je suis nouveau à Angular.
Les avertissements de dépendance des pairs peuvent, le plus souvent, être ignorés. La seule fois où vous voudrez agir, c'est si la dépendance entre homologues est totalement absente ou si la version d'une dépendance entre homologues est supérieure à la version que vous avez installée.
Prenons cet avertissement comme exemple:
npm WARN @ angular/animations @ 5.2.1 requiert un homologue de @ angular/core @ 5.2.1 mais aucun n'est installé. Vous devez installer vous-même les dépendances entre homologues.
Avec Angular, vous souhaitez que les versions que vous utilisez soient cohérentes dans tous les packages. S'il existe des versions incompatibles, modifiez les versions de votre package.json et exécutez npm install
afin qu'elles soient toutes synchronisées. J'ai tendance à conserver mes versions pour Angular dans la version la plus récente, mais vous devez vous assurer que vos versions sont cohérentes quelle que soit la version de Angular que vous souhaitez utiliser (ce qui peut ne pas être le cas récent).
Dans une situation comme celle-ci:
npm WARN [email protected] requiert un homologue de @ angular/core @ ^ 2.4.0 || ^ 4.0.0 mais aucun n'est installé. Vous devez installer vous-même les dépendances entre homologues.
Si vous utilisez une version de Angular supérieure à 4.0.0, vous ne rencontrerez probablement aucun problème. Rien à faire à ce sujet alors. Si vous utilisez une version Angular sous la version 2.4.0, vous devez créer votre version. Mettez à jour package.json et exécutez npm install
ou exécutez npm install
pour la version dont vous avez besoin. Comme ça:
npm install @angular/[email protected] --save
Vous pouvez omettre le --save
si vous exécutez npm 5.0.0 ou version ultérieure, cette version enregistre le package dans la section des dépendances de package.json automatiquement.
Dans cette situation:
npm WARN facultatif DEPENDANCE OPTIONNELLE DE SKIPPING: [email protected] (node_modules\fsevents): npm WARN notsup SAUVETAGE DEPENDANCE OPTIONNELLE: Plateforme non prise en charge pour [email protected]: voulue {"os": "darwin", "Arch", "any" "} (actuel: {" os ":" win32 "," Arch ":" x64 "})
Vous utilisez Windows et fsevent requiert OSX. Cet avertissement peut être ignoré.
J'espère que cela vous aide et amusez-vous à apprendre Angular!
Vous pouvez ignorer les avertissements de dépendance entre pairs en utilisant l'indicateur --force avec Angular cli lors de la mise à jour des dépendances.
ng update @angular/cli @angular/core --force
Pour une liste complète des options, consultez la documentation: https://angular.io/cli/update