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.

513voto

David Sherret Punkte 90738

Ich glaube, du suchst nach npm prune

npm prune [ [

`

Dieser Befehl entfernt "überflüssige" Pakete. Wenn ein Paketname angegeben wird, werden nur Pakete entfernt, die einen der angegebenen Namen entsprechen.

Überflüssige Pakete sind Pakete, die nicht auf der Abhängigkeitsliste des übergeordneten Pakets aufgeführt sind.

`

`

Siehe die Dokumentation: https://docs.npmjs.com/cli/prune

`

331voto

adamduren Punkte 3947

Sie könnten Ihren node_modules/ Ordner löschen und dann die Abhängigkeiten aus package.json neu installieren.

rm -rf node_modules/
npm install

Dies würde alle installierten Pakete im aktuellen Ordner löschen und nur die Abhängigkeiten aus package.json installieren. Wenn die Abhängigkeiten zuvor installiert wurden, wird npm versuchen, die zwischengespeicherte Version zu verwenden, um das erneute Herunterladen der Abhängigkeit zu vermeiden.

134voto

user3844078 Punkte 1553

Aufgrund seiner Ordner-Verschachtelung kann Windows den Ordner nicht löschen, da sein Name zu lang ist. Um dieses Problem zu lösen, installieren Sie RimRaf:

npm install rimraf -g

rimraf node_modules

62voto

Giuseppe B Punkte 1144

Von Version 6.5.0 npm unterstützt den Befehl clean-install (ci), um alle Pakete hart zu aktualisieren.

Siehe bitte die Referenzen:

48voto

Ajay Kotnala Punkte 1015

Einfach ausführen

rm -r node_modules

Tatsächlich kann man damit jeden Ordner löschen.

wie rm -r AnyFolderWhichIsNotDeletableFromShiftDeleteOrDelete.

Öffnen Sie einfach das gitbash, wechseln Sie zum Hauptverzeichnis des Ordners und führen Sie diesen Befehl aus

Hoffentlich hilft das.

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