Start·Fehlermeldungen

git · Git

Die Meldung

error: unable to unlink old 'dist/main.js': Permission denied

Was es bedeutet

Ein Checkout wollte eine Datei durch eine neue Version ersetzen, und das Betriebssystem verweigerte das Entfernen der alten. Das passiert, wenn ein anderes Programm die Datei offen hält — unter Windows besonders häufig — oder wenn Sie im Verzeichnis kein Schreibrecht haben. Schließen Sie, was sie hält — Entwicklungsserver, Editor, Virenscanner — und führen Sie denselben Befehl erneut aus; unter Unix korrigieren Sie die Verzeichnisrechte. Das Wiederholen ist gefahrlos, doch beachten Sie: git ist mittendrin stehen geblieben, der Arbeitsbaum bleibt bis zum Erfolg halb aktualisiert.

Die Lösung

Hier hilft kein Einzeiler. Die Erklärung sagt, worauf zu schauen ist.

Ausgegeben von
git
Git
29

Fast jeder git-Fehler ist eine Verweigerung im Sinne von „das aus diesem Zustand zu tun würde etwas verlieren“; fatal: heißt, git hat ohne jede Änderung abgebrochen, und die hint:-Zeilen unter der ersten enthalten meist die eigentliche Lösung.

Eine Fehlermeldung lesen

  • Von der ersten Zeile abwärts lesen. Weiter unten geht es um das Innere des Werkzeugs; die Ursache steht meist oben.
  • Gibt es Datei und Zeilennummer, dort anfangen — nicht der oberste Stack-Frame, sondern die oberste Zeile, die eine eigene Datei nennt.
  • Die Meldung wörtlich suchen, vorher aber eigene Pfade und Variablennamen entfernen; genau die verhindern den Treffer.
  • Dieselbe Lage wird je Werkzeugversion anders formuliert. Passen die Treffer nicht, die Versionsnummer mit in die Suche.
  • Vor dem Einfügen einer Lösung prüfen, was sie verwirft. Manches davon lässt sich nicht zurückholen.

Häufige Fragen

Q. Was bedeutet „error: unable to unlink old 'dist/main.js': Permission denied“?

Ein Checkout wollte eine Datei durch eine neue Version ersetzen, und das Betriebssystem verweigerte das Entfernen der alten. Das passiert, wenn ein anderes Programm die Datei offen hält — unter Windows besonders häufig — oder wenn Sie im Verzeichnis kein Schreibrecht haben. Schließen Sie, was sie hält — Entwicklungsserver, Editor, Virenscanner — und führen Sie denselben Befehl erneut aus; unter Unix korrigieren Sie die Verzeichnisrechte. Das Wiederholen ist gefahrlos, doch beachten Sie: git ist mittendrin stehen geblieben, der Arbeitsbaum bleibt bis zum Erfolg halb aktualisiert.

Q. Wie behebe ich das?

Es gibt keinen Einzeiler. Die Erklärung oben sagt, worauf zu schauen ist.

Q. Welches Werkzeug gibt das aus?

git. Es gehört zu Git, und die Meldung hat 8 Wörter.

Verwandte Fehler