Watch at EaseHistorias. Respuestas. Perspectiva.

Tecnología · GUÍA PRÁCTICA

¿npm ERESOLVE? Prueba el contrato peer antes de usar force

Conserva el lockfile y el grafo del error, identifica el peer solicitante, repara el cruce de versiones y demuestra una instalación limpia sin atajos.

es npm ERESOLVE peer dependency graph diagram
Ilustración editorial original: find the requester, peer range and selected version. Watch at Ease

ERESOLVE es un veredicto del grafo, no prueba de una caché rota. El mensaje suele nombrar la versión elegida, el solicitante y el rango peer incompatible.

Conserva manifests, lockfile e informe; reconstruye la arista, repara el contrato mínimo y exige npm ci, árbol, build y tests como prueba final.

Congela evidencia antes de cambiar el árbol

Guarda package.json, lockfile, manifests de workspaces, .npmrc, versiones Node/npm, informe ERESOLVE y comando exacto. No borres primero el lockfile.

Lee While resolving, Found y Could not resolve; registra proyecto, versión elegida, solicitante y rango peer.

Prueba la arista y el cruce de rangos

Usa npm explain, npm ls y npm view peerDependencies --json para probar por separado la arista instalada y el contrato del registry.

Compara rango raíz, rango peer, versión elegida y overrides. Si el cruce está vacío, elige releases compatibles; si no, revisa lockfile, workspaces, links y versión npm.

Repara el contrato, no silencies el error

Prefiere un release compatible, upgrade coordinado u override documentado y confirma juntos el diff mínimo de manifest y lockfile.

legacy-peer-deps ignora peers y solo sirve como diagnóstico aislado. Un resultado distinto no prueba compatibilidad; force es aún más amplio.

Separa conflicto real y resolver

Reproduce en un clon temporal con el mismo Node, npm, .npmrc y registry. npm ci no reescribe el lockfile, así que su fallo conserva evidencia.

Si los rangos coinciden pero falla una release npm, reduce el grafo y compara versiones adyacentes. No supongas primero un bug.

Exige una prueba de salida reproducible

La reparación exige npm ci sin bypass en checkout limpio, árbol previsto, diff explicado y build/tests correctos.

Si mantienes legacy como política, decláralo en .npmrc, documenta el contrato ignorado y añade tests de integración; sigue siendo excepción.

es npm ERESOLVE repair validation diagram
Ilustración editorial original: repair the contract and prove a clean install. Watch at Ease