Cuando intento instalar los paquetes npm usando el comando npm i , obtengo la siguiente excepción:
Intenté reinstalar el paquete Node.js y configurar el proxy para desactivarlo usando:
set HTTP_PROXY= set HTTPS_PROXY=El problema sigue ahí. ¿Que estoy haciendo mal?
Actualizar:
Cuando ejecuto el siguiente comando:
npm install --legacy-peer-depsSe muestra el siguiente error:
En mi caso, comencé a recibir el error (a continuación) después de actualizar npm de la versión 6 a la 7.
npm ¡ERROR! código ERESOLVE npm ERR! ERESOLVE no pudo resolver el árbol de dependencia
...
npm ¡ERROR! Solucione el conflicto de dependencia ascendente o vuelva a intentar este comando con --force o --legacy-peer-deps para aceptar una resolución de dependencia incorrecta (y potencialmente rota).
En mi caso, compilar con --legacy-peer-deps o --force flags resultó en un paquete inútil.
Así que intenté eliminar node_modules , package-lock.json y bundle usando yarn install . Esto generó un archivo yarn.lock y creó package-lock.json que funcionó bien en ejecuciones posteriores de npm.
PD: estoy usando la solución temporal hasta npm 7 funcione bien con mi proyecto: después de eso, eliminaré yarn.lock , package-lock.json y la carpeta node_modules , y volveré a compilar con npm
rm -rf node_modules rm package-lock.json yarn install # Generates a yarn.lock file and a new package-lock.json # Continue with npm npm startSi tiene la carpeta node_modules y el archivo package-lock.json en su directorio raíz, elimínelos:
rm -r node_modules rm package-lock.jsonLuego ejecuta los comandos:
npm install --save --legacy-peer-deps npm audit fix --force Cree un archivo .env en el directorio raíz y pegue el siguiente código:
SKIP_PREFLIGHT_CHECK=trueAhora, comienza tu proyecto:
npm startLa solución más rápida: npm install --legacy-peer-deps
Explicación:
En las versiones 3 a 6 de npm, las dependencias de pares no se instalaban automáticamente y generaban una advertencia si se encontraba una versión no válida de la dependencia de pares en el árbol. A partir de npm v7, las peerDependencies se instalan de forma predeterminada .
Su dependencia contiene algunas dependencias de pares que entran en conflicto con la dependencia del proyecto raíz.
Como se describe en el registro de npm ERR .
npm install¿Sigues viendo el error? Luego
npm install --force`Ninguna de las respuestas anteriores me ayudó.
Para mí, actualizar npm a la última versión (a 7.11.1 desde 7.8) usando npm i -g npm solucionó el problema.
npm audit fix --forceTrabajó para mi
Solo haz algo simple:
npm install --save --legacy-peer-depsAcabo de actualizar mi Node.js y me funciona:
node -vProducción:
V xxxxY:
sudo npm install -gn(Use este comando para instalar la versión de nodo estable).
sudo n stableAquí está la solución.
Vaya al directorio del proyecto y haga:
sudo rm ./package-lock.json sudo npm install --forceComience con el npm i --legacy-peer-deps primero y luego use el indicador --force a continuación.
Por si acaso, tuve un comportamiento similar, cuando probé npm upgrade mi plantilla actual basada en Angular 11.x de ng new anterior o cree un nuevo ng new abc basado en Angular 12.x. Simplemente olvidé actualizar Angular CLI. Entonces, esta npm install -g @angular/cli@latest resolvió mis errores durante ng new abc .
Resolví esto bajando la versión de Node.js de la última versión a la versión LTS.
Para aquellos que reciben errores al instalar Bootstrap Paginator o la tabla siguiente
npm install react-bootstrap-table2-paginator --saveo
npm install react-bootstrap-table-next --save Solución: agregue --legacy-peer-deps después del comando como
npm install react-bootstrap-table2-paginator --save --legacy-peer-depsnpm install react-bootstrap-table-next --save --legacy-peer-depsMe he enfrentado a este problema muchas veces. Por fin encontré una solución:
npm install react-native-paper --legacy-peer-depsPrimero lo intenté
npm install Me dio un error unable to resolve dependency tree y, según la información de ayuda de este comando,
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.Probé este comando:
npm install --legacy-peer-depsY resolvió mi problema.
En mi caso, estaba teniendo problemas con una dependencia de @babel/core , pero no quería usar --force porque no estaba seguro de las consecuencias, así que fui a https://www.npmjs.com/ , busqué el paquete y reemplacé mi versión anterior con la más nueva. Eso hizo el trabajo.
yo tuve el mismo problema
npm install --legacy-peer-depsEsto también funciona para el mío. Pero tengo una respuesta más simple. Simplemente cambie el número de versión en el archivo package.json que se requiere. Entonces usa
npm iEsto resolverá su problema (generará un nuevo proyecto como de costumbre, sin ningún problema de dependencia potencialmente roto).
Restablecer package-lock.json funciona bien para mí todo el tiempo:
git checkout -- package-lock.json Detalles: He estado experimentando esto mucho al actualizar todos los paquetes del proyecto heredado. No recomiendo usar npm audit fix ni npm i --force . Eliminar el package-lock.json tampoco me funcionó todo el tiempo. Volver a la versión de trabajo de package.json + package-lock.json y agregar paquetes resultó ser la variante más segura y rápida para mí.
Finalmente, encontré la respuesta. Prueba este comando -
npm install --save --legacy-peer-depsERESOLVE no pudo resolver el error del árbol de dependencia y luego agregue la última instalación de cualquier dependencia --legacy-peer-deps
Me gusta: estoy instalando socket.io, así que agrego --legacy-peer-deps en el último
$ npm install @nestjs/platform-socket.io @types/socket.io --legacy-peer-deps
Pruebe 2 opciones para resolver este problema opción 1 => eliminar node_modules y package_lock.json después de ejecutar
npm cache clean --force after npm i --force option 2 => ejecutar npm install --save --legacy-peer-deps
NPM se puede usar para instalar y administrar versiones de dependencias en sus proyectos.
Tuve el mismo problema en las versiones de React en relación con la versión npm
error npm encontrado tipos/react@16.14.20
Por lo tanto, podrían ser versiones de paquetes que deban instalarse en función de su package.json
Da errores en la versión npm@7 y no puede instalar módulos de nodo. Si baja la versión de npm a 6, esos problemas se convertirán en advertencias y el problema se resolverá.
Intente probar este comando: npm install -g npm@6
Compruebe si la versión ya está instalada: npm --version
Quite e instale el paquete node_modules:
a) Eliminar rm -rf node_modules
b) Instalar: npm i
El problema está relacionado con un conflicto de dependencia o dependencia rota. Puede continuar aceptando la corrección de la dependencia forzando una instalación.
Solución: usar el comando con --force .
Su comando será como npm install --force @your-npm-package .
Nota: Puede usar yarn para instalar una dependencia si está disponible para instalar con el administrador de paquetes de yarn.
Primero en entender el problema. Esto es lo que tengo como error:
npm ERR! ERESOLVE unable to resolve dependency tree npm ERR! npm ERR! While resolving: project-admin@11.0.0 npm ERR! Found: @angular/common@11.0.3 npm ERR! node_modules/@angular/common npm ERR! @angular/common@"11.0.3" from the root project npm ERR! npm ERR! Could not resolve dependency: npm ERR! peer @angular/common@"^9.1.0 || ^10.0.0" from @agm/core@3.0.0-beta.0 npm ERR! node_modules/@agm/core npm ERR! @agm/core@"3.0.0-beta.0" from the root projectPrimero debes comenzar a leer el problema de abajo hacia arriba. Aquí @agm/core@3.0.0-beta.0 requiere angular común 9.1.0 o 10.0.0. Y el mensaje superior dice que el común angular encontrado es en realidad 11.0.3.
(Si desea comprender un poco mejor las dependencias, aquí hay un sitio muy simple: Cómo funciona npm3 )
dependencies — these are the essential dependencies that you rely on and call in your project's code devDependencies — these are your development dependencies, for example, a prettier library for formatting code peerDependencies — if you set a peer dependency in your package.json, you are telling the person who installs your package that they need that dependency with the specified version optionalDependencies — these dependencies are optional and failing to install them will not break the installation process bundledDependencies — it's an array of packages that will come bundled with your package. This is useful when some 3rd party library is not on NPM, or you want to include some of your projects as modulesEntonces, ¿cuál debería ser la solución entonces? El problema es acerca de las dependencias entre pares. La solución es degradar angular común o la solución es usar la lógica de dependencias heredadas para instalar paquetes usando --legacy-peer-deps . Por lo tanto , --legacy-peer-deps no intenta instalar las peerDependencies automáticamente. ¿Esto te va a funcionar? Probablemente si. Pero debe agregar instrucciones específicas sobre cómo hacerlo, o hacer que el uso de --legacy-peer-deps sea automático para futuras instalaciones de los paquetes del proyecto con este código de una de las respuestas anteriores:
npm config set legacy-peer-deps true En mi caso, instalé el paquete e intenté ejecutar ng serve , pero debido a que se usó --legacy-peer-deps , había paquetes de dependencia que no estaban instalados. Tuve que instalarlos manualmente (porque no establecí la configuración del código anterior). Al final instalando unos cinco paquetes manualmente, todos con --legacy-peer-deps , terminé con un paquete que no se pudo instalar y no intenté continuar, porque mi proyecto lanzaba advertencias como locas y había muchas de paquetes para auditoría también. Así que mi decisión fue no usar este paquete y buscar una alternativa.
Otras soluciones que leí en el camino:
Incluso después de desinstalar/instalar NPM y CLI, si aún no funciona, asegúrese de estar dentro de la carpeta del proyecto. Por ejemplo, ha creado una carpeta raíz "myapplication". Ahora, está ejecutando el comando CLI para crear una nueva aplicación en la carpeta myapplication. Después de ejecutar el comando, obtendría un error como " ERESOLVE incapaz de resolver el árbol de dependencia ". Entonces, en lugar de ejecutar el comando en la carpeta de mi aplicación, vaya a la nueva carpeta de la aplicación dentro de la carpeta de mi aplicación y ejecute/ejecute la aplicación angular. Funcionaría bien.
Prueba este comando-
npm install --save --legacy-peer-depsAdemás de usar la opción de línea de comando --legacy-peer-deps , esto también se puede configurar de forma más permanente como una opción de configuración:
npm config set legacy-peer-deps trueFinalmente encontré una solución:
Esto sucede con algunos paquetes después de actualizar a npm 7.
El parámetro --legacy-peer-deps puede ayudar:
npm i --legacy-peer-depsDescrito aquí heredado-peer-deps
Hace que npm ignore por completo las peerDependencies al crear un árbol de paquetes, como en las versiones 3 a 6 de npm.
Si un paquete no se puede instalar debido a dependencias entre pares demasiado estrictas que chocan, proporciona una forma de avanzar para resolver la situación.
...
Puede establecer esta opción en true de forma predeterminada (no recomendado por npm):
npm config set legacy-peer-deps trueO simplemente espere hasta que estos paquetes se actualicen.
Esto no está relacionado con un proxy HTTP.
Tiene un conflicto de dependencia (dependencia incorrecta y potencialmente rota ) como dice, así que intente ejecutar el comando con --force o --legacy-peer-deps . Si no tiene efecto, la solución temporal es usar versiones anteriores de Node.js (rebajando la versión de Node.js), ya que a veces provoca este tipo de errores.
Actualización basada en la actualización del OP :
Como puede ver, dispara el siguiente error:
No se encontró una versión coincidente para @angular/http@^9.1.4.
Eche un vistazo a la página angular/http . ¡ Tenga en cuenta que la última versión para ese paquete obsoleto es 7.2.16 mientras solicita una versión superior (por ejemplo, ^9.1.4 ) ! Por lo tanto, intente verificar las dependencias del proyecto y siga los errores planteados para resolver el problema.
Cuando se usa npm 7, esto surge mucho porque los problemas de dependencias entre pares se tratan como errores en la versión 7, mientras que en general solo eran advertencias en la versión 6. Por lo general, usar --legacy-peer-deps hace que funcione con npm 7.
Cuando eso no funciona, una opción es degradar a npm 6. No es necesario degradar Node.js (pero tampoco es dañino). El código de administración de dependencia relevante está en npm . La degradación de Node.js a menudo funcionará de manera coincidente porque hacerlo a menudo también degradará npm .
Otra opción que es menos disruptiva que degradar npm es usar npx para usar la versión anterior de npm solo para el comando de instalación: npx -p npm@6 npm install
Y cuando todo lo demás falla, a menudo vale la pena intentar eliminar el directorio node_modules y package-lock.json , y luego ejecutar npm install nuevamente. Eso regenera node_modules y package-lock.json .
El problema parece ser que gf-kautomata-pipeline-ui usa Angular 9, mientras que @angular/http requiere Angular 7. ( @angular/http quedó en desuso y finalmente se eliminó, y toda su funcionalidad se movió a @angular/common en su lugar .)
Ver: https://www.npmjs.com/package/@angular/http
Si está ejecutando Angular 9, entonces
elimine @angular/http de su package.json (no lo necesita en Angular 9)
Asegúrese de tener @angular/common en su package.json .
Ejecute npm i .
Si está ejecutando Angular 7, abra su paquete.json y verifique que todos sus paquetes de Angular no superen ^7.0.0. También es posible que deba eliminar gf-kautomata-pipeline-ui o ponerse en contacto con el autor de gf-kautomata-pipeline-ui y averiguar si la biblioteca es compatible con Angular 7.
Intente eliminar los node modules y el archivo package-lock.json y ejecute el comando npm install o Try npm cache clean --force
esto me funciona npm install --save --legacy-peer-deps
Este es un problema de la versión del nodo. Algunas versiones más recientes del nodo podrían mostrar errores como estos.
https://github.com/nvm-sh/nvm Uso NVM para administrar las versiones de Node en el sistema y uso el nodo 12 para superar este error
comando para cambiar la versión
nvm use 12