509 Stimmen

Wie bereinige ich den node_modules-Ordner von Paketen, die nicht in der package.json enthalten sind?

Angenommen, ich installiere Projektpakete mit npm install, das in package.json nach Modulen sucht, die installiert werden sollen. Nach einer Weile sehe ich, dass ich ein bestimmtes Modul nicht mehr benötige und entferne seine Abhängigkeit von package.json. Dann entferne ich einige andere Module aus package.json, weil sie nicht mehr benötigt werden und andere durch Alternativen ersetzt werden.

Jetzt möchte ich den node_modules-Ordner aufräumen, damit nur die in package.json aufgeführten Module dort bleiben und der Rest verschwinden muss, ähnlich wie bei npm clean. Ich weiß, dass ich sie manuell entfernen kann, möchte aber gerne eine nette, sofort einsatzbereite Funktionalität dafür haben.

6voto

Johannes Punkte 69

Sie können auch npx in Kombination mit rimraf verwenden, um alle Node-Module mit einem Befehl zu entfernen, sodass Sie rimraf nicht zuerst installieren müssen.

Gehen Sie also zum Pfad, in dem sich Ihr node_modules-Ordner befindet, indem Sie cmd verwenden (falls Sie dort noch nicht sind) und führen Sie den folgenden Befehl aus

npx rimraf node_modules

6voto

Jack Luo Punkte 185

Ich habe kürzlich Angular von 14 auf 15 aktualisiert und festgestellt, dass ich Folgendes tun muss:

npm cache clean --force
npm cache verify
rm -rf node_modules/
npm install

Wenn ich keinen Cache-Clean durchführe, wird die Installation lokal erfolgreich sein, aber beim Ausführen des Bereitstellungsvorgangs auf dem Server fehlschlagen. Dies liegt daran, dass bei der lokalen Installation das lokale zwischengespeicherte Paket verwendet wird. Seien Sie also vorsichtig. :)

2voto

Osify Punkte 2164

Für Windows-Benutzer gibt es eine alternative Lösung, um einen solchen Ordner zu entfernen, der hier aufgelistet ist: http://ask.osify.com/qa/567

Unter ihnen ist ein kostenloses Tool: Long Path Fixer ist es wert zu versuchen: http://corz.org/windows/software/accessories/Long-Path-Fixer-for-Windows.php

1voto

Jasmin Mistry Punkte 1459

Verwenden Sie anstelle von npm install den folgenden Befehl:

npm ci

0voto

hamid_reza hobab Punkte 905

Rimraf ist ein Paket zur Simulation des Linux-Befehls [rm -rf] in Windows. Das ist nützlich für plattformübergreifende Unterstützung. Um die CLI zu installieren:

npm install rimraf -g

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X