Inicio·Mensajes de error

npm · npm

El mensaje

npm ERR! ERESOLVE unable to resolve dependency tree

Qué significa

Desde npm 7 se aplican los rangos de peerDependencies, y esto dice que npm no encontró un conjunto de versiones que satisfaga todos a la vez. Es habitual cuando el paquete que instalas tiene un rango de peer que excluye la versión de react o typescript que ya tienes, sobre todo justo después de una subida de versión mayor. Lee las líneas Found: y Could not resolve: para ver quién exige qué y mueve una de las dos a una versión compatible: ese es el arreglo real. npm install --legacy-peer-deps instala ignorando por completo los rangos de peer, lo que te desatasca pero deja un árbol que los paquetes nunca aceptaron, así que los errores en ejecución por versiones descuadradas son tuyos.

El arreglo

npm install --legacy-peer-deps
Lo imprime
npm
npm
20

En npm la causa está en la primera línea code XXXX y no en las seis últimas líneas npm ERR!, y cuando el fallo viene del árbol de dependencias o de una compilación nativa y no de tu código, borrar node_modules y reinstalar resuelve la mitad de los casos.

Cómo leer un mensaje de error

  • Lee desde la primera línea. Cuanto más abajo, más son las tripas de la herramienta; la causa suele estar arriba.
  • Si hay un archivo y un número de línea, empieza ahí: no el marco superior de la pila, sino la línea más alta que nombre un archivo tuyo.
  • Busca el mensaje literal, pero quita antes tus rutas y nombres de variables: eso es lo que impide que la búsqueda coincida.
  • La misma condición se redacta distinto según la versión. Si los resultados no cuadran, añade el número de versión.
  • Antes de pegar un arreglo, comprueba qué descarta. Algunos no se pueden deshacer.

Preguntas frecuentes

Q. ¿Qué significa «npm ERR! ERESOLVE unable to resolve dependency tree»?

Desde npm 7 se aplican los rangos de peerDependencies, y esto dice que npm no encontró un conjunto de versiones que satisfaga todos a la vez. Es habitual cuando el paquete que instalas tiene un rango de peer que excluye la versión de react o typescript que ya tienes, sobre todo justo después de una subida de versión mayor. Lee las líneas Found: y Could not resolve: para ver quién exige qué y mueve una de las dos a una versión compatible: ese es el arreglo real. npm install --legacy-peer-deps instala ignorando por completo los rangos de peer, lo que te desatasca pero deja un árbol que los paquetes nunca aceptaron, así que los errores en ejecución por versiones descuadradas son tuyos.

Q. ¿Cómo se arregla?

npm install --legacy-peer-deps — antes de ejecutarlo, mira arriba qué descarta este comando.

Q. ¿Qué herramienta lo imprime?

npm. Está en npm y el mensaje tiene 8 palabras.

Errores cercanos