Échec de l'installation des dépendances (npm install)

Avoir du mal à résoudre l'arbre de dépendance (conflits de dépendance)

npm j'ai échoué à installer les dépendances et j'ai signalé l'erreur suivante :

npm ERR! code ERESOLVE
npm ERR! ERESOLVE could not resolve
npm ERR!
npm ERR! While resolving: [email protected]      
npm ERR! Found: [email protected]
npm ERR! node_modules/eslint
npm ERR!   dev eslint@"5.0.0" from the root project
npm ERR!   peer eslint@">= 1.6.0 < 7.0.0" from @vue/[email protected]
npm ERR!   node_modules/@vue/cli-plugin-eslint
npm ERR!     dev @vue/cli-plugin-eslint@"~4.5.0" from the root project
npm ERR!   9 more (eslint-loader, babel-eslint, eslint-config-standard, ...)
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! peer eslint@">=1.6.0 <5.0.0" from [email protected]
npm ERR! node_modules/eslint-loader
npm ERR!   dev eslint-loader@"1.9.0" from the root project
npm ERR! 
npm ERR! Conflicting peer dependency: [email protected]
npm ERR! node_modules/eslint
npm ERR!   peer eslint@">=1.6.0 <5.0.0" from [email protected]
npm ERR!   node_modules/eslint-loader
npm ERR!     dev eslint-loader@"1.9.0" from the root project
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force, or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.
npm ERR!
npm ERR! See C:\Users\Administrator\AppData\Local\npm-cache\eresolve-report.txt for a full report.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\Administrator\AppData\Local\npm-cache\_logs\2023-03-22T02_14_02_271Z-debug-0.log

solution

Exécutez npm install --legacy-peer-deps

Dans le fichier package.json, il y a un objet appelé peerDependencies (dépendances entre pairs), qui contient tous les packages requis dans le projet ou tous les packages avec le même numéro de version que l'utilisateur télécharge, ce qui signifie des dépendances entre pairs Spécifie que notre package est compatible avec une version spécifique d'un package npm. Le meilleur exemple de dépendance peer-to-peer est React, une bibliothèque JS pour la création déclarative d'interfaces utilisateur.

À partir de la version v7 de npm, l'installation est téléchargée sous la forme de peerDependencies par défaut.

La stratégie est la suivante :

  1. Si l'utilisateur dépend explicitement de la bibliothèque principale dans le fichier package.json du répertoire racine, la déclaration peerDependencies dans chaque sous-projet peut être ignorée

  1. Si l'utilisateur ne dépend pas explicitement de la bibliothèque principale, installez les dépendances dans le répertoire racine du projet en fonction de la version déclarée dans les peerDependencies du sous-projet

Si la version du package dont dépend l'utilisateur est incompatible avec la version du package dont dépend chaque sous-projet, une erreur sera signalée (problème que l'arborescence des dépendances ne peut pas être résolue (conflit de dépendance)) et l'utilisateur devra être invité à le réparer lui-même, ce qui entraînera l'interruption du processus d'installation. (Parce qu'il a été introduit à partir de npm v7, cette erreur ne se produira pas dans npm v3-v6)

La commande npm install --legacy-peer-deps est utilisée pour contourner l'installation automatique des dépendances dans peerDependency ; elle indique à npm d'ignorer le problème que les modules dépendants introduits dans le projet ont les mêmes dépendances mais des versions différentes, et d'aller dans le manière de npm v3-v6 Procédez à l'opération d'installation.

Donc en fait, cette commande ne résout pas vraiment le conflit, mais ignore le conflit et effectue l'opération de téléchargement de manière "obsolète" (v3-v6).

lien de référence

https://blog.csdn.net/devcloud/article/details/124469666

Je suppose que tu aimes

Origine blog.csdn.net/qq_54029413/article/details/129704140
conseillé
Classement