Layer 8Ehrlicher Tech-Support
SoftwareSchweregrad: LästigERESOLVE

npm ERESOLVE: unable to resolve dependency tree

npm install bricht mit ERESOLVE und 'unable to resolve dependency tree' ab? So löst du Peer-Dependency-Konflikte richtig statt mit --force.

Aufwand:
ca. 15 Min.

Das Symptom

Du klonst ein Projekt, tippst npm install – und statt eines fertigen node_modules erscheint ein roter Block mit code ERESOLVE und der Zeile „unable to resolve dependency tree“. npm listet penibel auf, welches Paket welche Version von etwas verlangt, und verweigert dann den Dienst. Nichts wird installiert.

Die „Layer 8“-Wahrheit

Das ist kein Zufallsfehler, sondern npm, das seinen Job ernst nimmt. Seit Version 7 zieht npm Peer-Dependencies automatisch mit und prüft streng, ob alle Pakete mit derselben Version eines gemeinsamen Bausteins leben können. Passt das nicht zusammen, verweigert npm lieber die Installation, als dir stillschweigend eine kaputte Kombination unterzuschieben. Der Reflex, sofort --force draufzuwerfen, übertönt nur die Warnung – der eigentliche Konflikt bleibt. Wer kurz liest, wer hier welche Version verlangt, löst das Problem an der Wurzel statt es zu übermalen.

Die echte, verifizierte Lösung

1000 % faktenbasiert. Jeder Befehl ist real, jeder Pfad existiert. Schritt für Schritt:

  1. 1.

    Die Fehlermeldung wirklich lesen

    npm nennt die Beteiligten exakt: 'Found' zeigt die installierte Version, 'Could not resolve dependency' und 'peer ... from ...' zeigen, wer welche Version verlangt. Damit ist der Konflikt schon benannt.

  2. 2.

    Versionen in package.json angleichen

    Meist verlangt ein Paket eine ältere/neuere Hauptversion eines Peers (z. B. eine ältere React-Version). Die Abhängigkeit oder das konfligierende Paket auf eine zueinander passende Version bringen und neu installieren:

    npm install <paket>@<passende-version>
    
  3. 3.

    Übergangsweise die strikte Prüfung lockern

    Wenn eine passende Kombination gerade nicht möglich ist, npm 6-Verhalten erzwingen. Das installiert trotz Peer-Warnung, ohne Konflikte zu überschreiben:

    npm install --legacy-peer-deps
    
  4. 4.

    Sauberen Zustand herstellen

    Bei hartnäckigen Fällen node_modules und Lockfile verwerfen und frisch auflösen lassen. So verschwinden Alt-Reste aus früheren Installationen:

    rm -rf node_modules package-lock.json
    npm install
    
  5. 5.

    --force nur bewusst als Notausgang

    Der letzte Ausweg überschreibt Konflikte aktiv. Nur nutzen, wenn klar ist, dass die Kombination funktioniert – danach die App gründlich testen:

    npm install --force
    

Häufige Fragen (FAQ)

?Was heißt ERESOLVE bei npm?

Seit npm 7 installiert npm Peer-Dependencies automatisch mit und prüft sie strikt. ERESOLVE bedeutet, dass zwei Pakete unvereinbare Versionen desselben Peers verlangen – npm kann keinen Abhängigkeitsbaum bilden, der alle Anforderungen erfüllt.

?Ist --force oder --legacy-peer-deps besser?

--legacy-peer-deps ignoriert nur die strikte Peer-Prüfung und verhält sich wie npm 6 – meist der harmlosere Übergang. --force überschreibt zusätzlich Konflikte und kann kaputte Kombinationen installieren. Beides ist ein Pflaster; die saubere Lösung sind passende Versionen.

Belege

Diese Seite ist gegen die folgenden Primärquellen geprüft – Hersteller, Standard oder Gesetzestext. Wer es nicht glaubt, muss es nicht: Da steht, wo es nachzulesen ist.

Zuletzt geprüft am . Dokumentation altert – ein Datum daneben ist der einzige ehrliche Umgang damit.

Auch zu finden unter

Verwandte Fehler

SWAnfängerfehlerEACCES: permission denied

npm EACCES: permission denied beheben

npm install -g bricht mit 'EACCES: permission denied' ab? Nicht sudo verwenden. So installierst du globale Pakete korrekt über nvm oder ein eigenes Prefix.