Lingua-e
JavaScript

¿Qué significa Conflicto de dependencia de peer en npm?

← Errores

npm lanza un conflicto de dependencia de peer (ERESOLVE) cuando un paquete requiere una versión específica de otro paquete que es incompatible con lo que está instalado actualmente. npm v7+ trata las dependencias de peer no resueltas como errores graves por defecto.

Por qué ocurre

  • Un plugin o librería requiere una versión mayor más nueva de una dependencia de peer que la que tienes.
  • Dos paquetes en tu árbol de dependencias requieren versiones conflictivas del mismo peer.
  • Actualizar un paquete sin actualizar sus peers.
  • Un paquete no se ha actualizado para soportar la última versión mayor de su peer.

Ejemplos

JavaScript

Código que causa el error

npm install some-plugin

Error en la terminal

npm warn ERESOLVE overriding peer dependency
npm error code ERESOLVE
npm error While resolving: some-plugin@2.0.0
npm error Found: react@17.0.2
npm error node_modules/react
npm error   react@"17.0.2"
npm error
npm error Could not resolve dependency:
npm error peer react@"^18.0.0" required by some-plugin@2.0.0

Cómo solucionarlo

Actualiza tu versión de la dependencia de peer si es posible. Fija una versión anterior del paquete que soporte tu stack actual. Usa --legacy-peer-deps solo como último recurso y prueba exhaustivamente. Usa npm ls para visualizar el grafo de dependencias.

Código corregido

# Option 1: upgrade the peer dependency
npm install react@18

# Option 2: use legacy peer dep resolution (use with caution)
npm install some-plugin --legacy-peer-deps

# Option 3: use a version of the plugin compatible with your React version
npm install some-plugin@1.x

Errores relacionados

¿Listo para practicar tu inglés en el trabajo?

Lingua-e tiene ejercicios interactivos basados en conversaciones reales de developers: standups, code reviews, retrospectivas y más. Practica hasta que salga solo.

Prueba Lingua-e gratis