Angenommen, ich installiere Projektpakete, bei npm install
denen package.json
nach zu installierenden Modulen gesucht wird. Nach einer Weile sehe ich, dass ich kein bestimmtes Modul benötige und entferne dessen 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 bereinigen, damit nur die in aufgelisteten Module dort package.json
bleiben und der Rest gehen muss, so etwas wie npm clean
. Ich weiß, dass ich sie manuell entfernen kann, hätte aber gerne eine nette, einsatzbereite Zuckerfunktionalität dafür.
node_modules
Stammordner und nicht wie zuvor, wo für jede Abhängigkeit ihre eigenen Abhängigkeiten in ihren eigenennode_modules
Ordnern installiert wurden. Mit unzähligen Kopien derselben Abhängigkeiten ... so wirdnpm prune
berücksichtigt dies? weil diese tiefen Abhängigkeiten nicht auf den Hauptteilpackage.json
Ihres Projekts geschrieben sind. Prune muss rekursiv aussehen.npm dedupe
docs.npmjs.com/cli/dedupe erreicht . Es wird versucht, den Knotenbaum zu vereinfachen, indem Abhängigkeiten nach oben verschoben werden.Sie können Ihren Ordner node_modules / entfernen und dann die Abhängigkeiten von package.json neu installieren.
Dies würde alle installierten Pakete im aktuellen Ordner löschen und nur die Abhängigkeiten von package.json installieren. Wenn die Abhängigkeiten zuvor installiert wurden, versucht npm, die zwischengespeicherte Version zu verwenden, um zu vermeiden, dass die Abhängigkeit ein zweites Mal heruntergeladen wird.
quelle
rmdir node_modules /s /q
Windows. superuser.com/a/179661/440976prune
Option erfordert, dass Sie überhaupt eine Internetverbindung haben.quelle
rm -rf node_modules
rm -rf node_modules
funktioniert nicht unter Windows. Sehen Sie diese Lösung: superuser.com/a/179661/440976einfach einfach laufen lassen
Tatsächlich können Sie damit jeden Ordner löschen.
wie rm -r AnyFolderWhichIsNotDeletableFromShiftDeleteOrDelete .
Öffne einfach den Gitbash Verschiebung zum Stammverzeichnis des Ordners und führen Sie diesen Befehl aus
Hoffe das wird helfen.
quelle
Installieren Sie zuerst rimraf global
Gehen Sie mit cmd zum Pfad, in dem sich Ihr Ordner node_modules befindet, und wenden Sie den folgenden Befehl an
quelle
npm prune
ist eine ideale Lösung.Haben Sie versucht, npm Prune?
Es sollte alles deinstallieren, was nicht in Ihrer Paketdatei aufgeführt ist
https://npmjs.org/doc/cli/npm-prune.html
quelle
ab Version 6.5.0 unterstützt npm den Befehl
clean-install
, alle Pakete hart zu aktualisierenquelle
Ich habe einige Zeilen in package.json hinzugefügt:
Wenn Sie nur möchten,
clean
können Sie dieserimraf node_modules
oder verwendenrm -rf node_modules
.Es funktioniert gut
quelle
Für Windows-Benutzer eine alternative Lösung zum Entfernen eines solchen Ordners, der hier aufgeführt ist: http://ask.osify.com/qa/567
Unter anderem ein kostenloses Tool: Long Path Fixer ist gut zu versuchen: http://corz.org/windows/software/accessories/Long-Path-Fixer-for-Windows.php
quelle
Der beste Artikel, den ich darüber gefunden habe, ist dieser: https://trilon.io/blog/how-to-delete-all-nodemodules-recursively
Alles von der Konsole aus und einfach von jedem Ordnerpunkt aus auszuführen.
Aber als Zusammenfassung des Artikels, dieser Befehl, um die Größe für jeden
node_module
Ordner in verschiedenen Projekten zu finden.Und um sie tatsächlich zu entfernen:
Der Artikel enthält auch Anweisungen für die Windows-Shell.
quelle
Entfernen / Bearbeiten Sie die Pakete, die in package-lock.json nicht benötigt werden (Paketnamen werden unter Abhängigkeiten und devDependencies geschrieben) und dann
npm install
quelle
Verwenden Sie den folgenden Befehl anstelle von npm install
quelle