Wenn npm install mit EACCES oder EPERM abbricht, liegt das meistens an fehlenden Schreibrechten im globalen Node-Verzeichnis. Lösung: globale Pakete ins Home-Verzeichnis umleiten — dazu in der ~/.npmrc die Variable prefix auf einen Ordner setzen, auf den der aktuelle Nutzer Zugriff hat. Unter Linux reicht oft ein einmaliges mkdir ~/.npm-global und das entsprechende Prefix-Setting, danach PATH anpassen.
Der Registrierungsserver antwortet nicht oder gibt 404 zurück — das passiert nach Tippfehlern im Paketnamen, aber auch wenn das Paket aus dem Register entfernt wurde (unpublish). Prüfen: npm view paketname im Terminal. Kommt keine Ausgabe, existiert das Paket nicht mehr oder wurde umbenannt.
Der Client wartet endlos auf eine Antwort. Ursachen:
Fehler wie ERESOLVE unable to resolve dependency tree entstehen, wenn zwei Pakete inkompatible Versionen einer gemeinsamen Abhängigkeit fordern. Kurzfristig hilft --legacy-peer-deps, besser ist aber ein gezieltes Upgrade der betroffenen Pakete oder das Einfrieren von Versionen in package.json.
npm login gibt 'Invalid credentials' oder der Token wird beim Publish nicht akzeptiert. Zuerst prüfen, ob die Registry-URL stimmt: npm config get registry sollte https://registry.npmjs.org/ zurückgeben. Danach das Token unter npmjs.com neu generieren und mit npm config set //registry.npmjs.org/:_authToken=TOKEN eintragen.
Das Paket kann nicht veröffentlicht werden, obwohl Login funktioniert. Häufige Gründe: Der Paketname ist bereits vergeben, die Version in package.json wurde nicht erhöht, oder das Paket gehört einer Organisation und der Nutzer hat keine Publish-Berechtigung. npm whoami zeigt, mit welchem Account man gerade angemeldet ist — das klärt schnell, ob man im falschen Kontext arbeitet.