So findest und löschst du alte node_modules-Ordner und Paket-Caches auf dem Mac
Jedes JavaScript-Projekt schleppt sein eigenes node_modules mit, oft 200 MB bis 1 GB, und Paketmanager halten in ihren Caches noch eine zweite Kopie von allem. Projekte, die du vor Monaten abgeschlossen hast, belegen das alles immer noch.
Kurz gesagt: node_modules-Ordner und Paket-Caches kannst du bedenkenlos löschen: npm install (oder pnpm, yarn, bun) holt genau das zurück, was im Lockfile steht. Für den Cache nimmst du jeweils den Aufräumbefehl des Paketmanagers selbst.
Wie finde ich alle node_modules-Ordner auf dem Mac?
Richte den Befehl auf den Ordner, in dem dein Code liegt. Er listet jedes node_modules mit seiner Größe auf, das größte zuletzt:
find ~/Projects -type d -name node_modules -prune -exec du -sh {} + 2>/dev/null | sort -h
-prune verhindert, dass er die node_modules innerhalb anderer node_modules mitzählt. Leg die Ordner alter Projekte im Finder in den Papierkorb oder lösch sie mit rm -rf (ohne Weg zurück).
Kann ich node_modules bedenkenlos löschen?
Ja. Der Ordner enthält heruntergeladene Pakete, und welche das sind, steht in deiner package.json und im Lockfile. Ein npm install im Projekt stellt sie wieder her. Zwei Ausnahmen: Pakete, die du innerhalb von node_modules von Hand geändert hast (nimm dafür besser patch-package oder den Patch-Befehl deines Paketmanagers), und wenn du offline arbeitest.
Welche Paket-Caches kann ich leeren, und wie?
- npm (
~/.npm/_cacache):npm cache clean --force - pnpm (
~/Library/pnpm/store):pnpm store pruneentfernt Pakete, die kein Projekt nutzt - Yarn (
~/Library/Caches/Yarn,~/.yarn/berry/cache):yarn cache clean - Bun (
~/.bun/install/cache):bun pm cache rm - Homebrew (
~/Library/Caches/Homebrew):brew cleanup - pip (
~/Library/Caches/pip):pip cache purge; uv (~/.cache/uv):uv cache clean - Go:
go clean -cache -modcache - CocoaPods:
pod cache clean --all; Gradle (~/.gradle/caches), Maven (~/.m2/repository) und Cargo (~/.cargo/registry) können in den Papierkorb und werden neu heruntergeladen - Playwright-Browser (
~/Library/Caches/ms-playwright): neu installieren mitnpx playwright install
Die nächste Installation jedes Projekts lädt wieder herunter, was es braucht, deshalb ist die erste nach dem Leeren langsamer.
Kann ich auch Build-Ordner löschen?
Build-Ergebnisse bauen sich ebenfalls neu auf: .next, .turbo, dist und build in JavaScript-Projekten, target in Rust und Maven, .build in Swift-Paketen, Pods in CocoaPods-Projekten (pod install stellt sie wieder her).
Was sollte ich behalten?
- Virtuelle Python-Umgebungen (
.venv): Eine neu aufgebaute kann abweichen, weil von Hand installierte Pakete und nicht festgepinnte Versionen nicht genauso zurückkommen. - Die Node.js-Version, die du nutzt, in nvm oder fnm. Ältere Versionen in
~/.nvm/versions/node, die kein Projekt braucht, können weg. - Projekte mit nicht übernommenen Änderungen: Prüf
git status, bevor du etwas entfernst, das größer ist als die Abhängigkeiten.