AskClean

node_modules auf dem Mac löschen, ohne dein Projekt zu verlieren

AskClean-Team · Aktualisiert 2026-11-02

Du kannst node_modules löschen, wenn package.json, das richtige Lockfile und alle benötigten Abhängigkeiten weiterhin verfügbar sind. Miss den Speicherbedarf zuerst für jedes Projekt, stoppe laufende Prozesse und lege nur den geprüften Abhängigkeitsordner in den Papierkorb. Installiere danach mit demselben Paketmanager neu und leere den Papierkorb erst, wenn Build, Tests und App wieder funktionieren. Verwechsle node_modules nicht mit dem gemeinsamen Download-Cache von npm.

Roboterarm hebt einen Block aus einem Netz aus Abhängigkeitswürfeln in einen Recyclingbehälter; Bauplan, Schloss und ein türkis geschützter Block bleiben liegen
Entferne nur den neu erzeugbaren Abhängigkeitsordner; Manifest, Lockfile, Konfiguration und Quellcode bleiben geschützt.

node_modules vom eigentlichen Projekt trennen

node_modules enthält den installierten Abhängigkeitsbaum eines Projekts und lässt sich unter den richtigen Voraussetzungen neu erzeugen. Nach dem Löschen kann das Projekt bis zur vollständigen Neuinstallation weder laufen noch bauen. package.json, Lockfiles, Quellcode, Konfiguration, Patches, Workspace-Dateien und Git-Verlauf sind die Bauanleitung und müssen bleiben. Der gemeinsam genutzte Download-Cache von npm unter ~/.npm ist eine eigene Speicherkategorie mit eigenen Wiederherstellungskosten.

Prüfen, ob sich die Abhängigkeiten wirklich neu erzeugen lassen

Ein Lockfile macht die Installation berechenbarer, ist aber kein Backup der Pakete. Prüfe den vorgesehenen Paketmanager und seine Version, den Zugang zu privaten Registries, VPN, Abhängigkeiten aus Git oder über file:, lokale Workspaces, externe Downloads sowie native Toolchains. npm v12 liest eine npm-shrinkwrap.json im Projektstamm nicht mehr. Hat ein Altprojekt nur diese gleich aufgebaute Sperrdatei, benenne sie vor der Nutzung von npm v12 in package-lock.json um; überschreibe dabei niemals eine bereits vorhandene package-lock.json, sondern kläre Abweichungen als eigene, geprüfte Änderung. Änderungen, die nur in node_modules liegen, gehen beim Löschen verloren.

  1. Führe im Projektstamm pwd und du -sh ./node_modules aus und notiere zusätzlich den freien Speicher in macOS.
  2. Prüfe package.json, das richtige Lockfile, die Workspace-Konfiguration und lokale Änderungen mit git status. Hat ein Altprojekt nur npm-shrinkwrap.json, benenne sie vor der Nutzung von npm v12 in package-lock.json um, ohne eine vorhandene Datei zu überschreiben.
  3. Bestätige den Zugang zu privaten Registries, Abhängigkeiten aus Git oder über file:, lokalen Paketen, externen Downloads und Build-Werkzeugen und stoppe alle Prozesse, die node_modules verwenden.
  4. Lege nur den geprüften node_modules-Ordner in den Papierkorb und installiere aus dem richtigen Repository-Stamm mit dem festgelegten Paketmanager und Lockfile neu.
  5. Führe Build, Tests, Lint-Prüfungen und App-Start aus, miss den Speicher erneut und leere erst danach den Papierkorb.

Nutze node_modules nie als einzige Kopie eines Pakets oder einer manuellen Korrektur. Ist eine exakte Abhängigkeit nicht mehr erreichbar und nirgendwo archiviert, kann das Löschen ein altes Projekt unbrauchbar machen.

Genau einen geprüften Abhängigkeitsordner entfernen

Lege im geprüften Projekt nur node_modules im Finder in den Papierkorb, niemals das übergeordnete Repository. Löschst du im Terminal mit rm -rf ./node_modules, umgehst du den Papierkorb, und das lässt sich nicht rückgängig machen; prüfe davor mit pwd noch einmal den Projektstamm. Nutze dort npm ci, wenn package-lock.json maßgeblich ist, oder den vom Repository vorgegebenen Frozen-Lockfile-Ablauf für pnpm, Yarn oder Bun. Behandle ein Monorepo ausgehend vom Lockfile im Repository-Stamm als ein zusammenhängendes Abhängigkeitssystem.

Neuinstallation und Projekt vollständig prüfen

Eine erfolgreiche Installation allein beweist noch nicht, dass das Projekt wieder funktioniert. Führe die dokumentierten Builds, Tests, Lint-Prüfungen und Startabläufe aus; native Add-ons und Lifecycle-Skripte können nach einem Toolchain-Wechsel trotzdem scheitern. Die Wiederherstellung kostet Downloads, Entpacken, Verlinken und gegebenenfalls Kompilieren. Schlägt sie fehl, hol den Ordner aus dem Papierkorb zurück und prüfe Zugangsdaten, Netzwerk, Versionen und Lockfile, bevor du weitere Projekte bereinigst.

Löschgrenzen und Wiederherstellungskosten

Finde große node_modules-Ordner auf dem Mac, schütze Quellcode und Lockfile, lösche Ordner projektweise und installiere mit npm, pnpm, Yarn oder Bun sicher neu.

SchrittPrüfen unter oder mitWas du wissen musst
node_modules vom eigentlichen Projekt trennen<Projekt>/node_modulesnode_modules enthält den installierten Abhängigkeitsbaum eines Projekts und lässt sich unter den richtigen Voraussetzungen neu erzeugen.
Prüfen, ob sich die Abhängigkeiten wirklich neu erzeugen lassenpackage.json + Lockfile + Workspace-KonfigurationEin Lockfile macht die Installation berechenbarer, ist aber kein Backup der Pakete.
Genau einen geprüften Abhängigkeitsordner entfernenPapierkorb / Neuinstallation mit dem PaketmanagerLege im geprüften Projekt nur node_modules im Finder in den Papierkorb, niemals das übergeordnete Repository.
Neuinstallation und Projekt vollständig prüfenBuild + Tests + App-StartEine erfolgreiche Installation allein beweist noch nicht, dass das Projekt wieder funktioniert.

FAQ

Ist es sicher, node_modules auf dem Mac zu löschen?

Meist ja, wenn package.json, das richtige Lockfile, Workspace-Dateien, Quellcode und alle Bezugsquellen erhalten sind. Das Projekt läuft und baut jedoch erst wieder, wenn Neuinstallation und Prüfungen erfolgreich abgeschlossen sind. Leere den Papierkorb erst, wenn das Projekt wieder funktioniert.

Sollte ich package-lock.json zusammen mit node_modules löschen?

Nein. package-lock.json ist die Grundlage für eine reproduzierbare Installation mit npm ci. npm v12 liest npm-shrinkwrap.json im Projektstamm nicht mehr. Liegt in einem Altprojekt nur diese gleich aufgebaute Datei vor, benenne sie in package-lock.json um; überschreibe dabei keine bereits vorhandene Sperrdatei.

Sind node_modules und der npm-Cache dasselbe?

Nein. node_modules ist der installierte Abhängigkeitsbaum eines Projekts. Der gemeinsam genutzte npm-Cache liegt standardmäßig unter ~/.npm. Löschst du das eine, bleibt das andere bestehen.

Quellen

Weiteren Entwicklerspeicher aufräumen