# Entwickler-Caches unter Windows: was sich neu erzeugen lässt

Ein Projekt ist kaum gewachsen, und Laufwerk C: hat trotzdem mehrere GB zugelegt. Ein npm-, pip- oder Gradle-Verzeichnis zu finden ist kein Grund, es ganz zu löschen. Download-Caches, Projektabhängigkeiten, Build-Ausgaben und gespeicherte Werkzeugversionen tun verschiedene Arbeit, und der Neuaufbau hängt davon ab, dass ihre Quellen verfügbar bleiben.

## Den Ort finden, den das Werkzeug tatsächlich nutzt

In einem Terminal mit den betreffenden Werkzeugen zeigen diese Befehle den Cache-Ort von npm und Cache-Informationen von pip, ohne Inhalt zu löschen:

```powershell
npm config get cache
python -m pip cache info
```

Die pip-Abfrage nutzt die Umgebung, die `python` auswählt. Haben Sie Cache-Orte geändert, folgen Sie der Ausgabe. Die [npm-Konfigurationsreferenz](https://docs.npmjs.com/cli/v11/commands/npm-config/) und die [pip-Cache-Referenz](https://pip.pypa.io/en/stable/cli/pip_cache/) beschreiben die Abfragen. Der Standardpfad eines PCs ist nicht die Konfiguration jedes Projekts.

## Vier Arten von Verzeichnissen unterscheiden

| Art | Beispiele | Vor dem Entfernen prüfen |
| --- | --- | --- |
| Paket-Download-Caches | npm-Cache, HTTP- und Wheel-Caches von pip | Ob eine spätere Installation Downloads braucht, besonders offline |
| Projektabhängigkeiten | `node_modules`, virtuelle Umgebungen, `vendor` | Ob Pakete, Lockfiles, Quellen und Installationsschritte verfügbar bleiben |
| Build-Ausgabe | `dist`, `build`, `obj` | Ob es erzeugter Inhalt ist und etwas von Hand Hinzugefügtes enthält |
| Werkzeugversionen und lokale Repositorys | Heruntergeladene Gradle-Versionen und manche lokal installierten Pakete | Ob die nächste Synchronisierung oder der nächste Build sie direkt braucht |

Neuaufbau hat einen Preis. Netzzugang, verfügbare Quellen, Authentifizierung und Offlinebedarf zählen. Ein Abhängigkeitsverzeichnis ist kein allgemeines Bereinigungsziel, nur weil sein Name vertraut ist.

## Ein Cacheproblem ist etwas anderes als ein Abhängigkeitsproblem

Der Download-Cache von npm prüft Inhalt, und seine [Dokumentation](https://docs.npmjs.com/cli/v11/commands/npm-cache/) beschreibt das erneute Holen beschädigter Daten. Ein Installationsfehler ist kein ausreichender Grund, den Cache zu leeren. Ein Netzfehler, eine nicht verfügbare festgelegte Version oder ein Abhängigkeitskonflikt kann danach unverändert bleiben.

pip trennt zwischengespeicherte HTTP-Antworten von zwischengespeicherten Wheels, einschließlich zuvor gebauter installierbarer Pakete. Seine [Cache-Dokumentation](https://pip.pypa.io/en/stable/topics/caching/) erklärt beides. `pip cache list` listet Wheels, nicht jede Datei im Cacheverzeichnis. Virtuelle Umgebungen isolieren installierte Abhängigkeiten, aber mehrere Umgebungen können einen pip-Cache teilen. Ein anderes `python` zu wählen garantiert keinen getrennten Cache-Ort. Lesen Sie die Ausgabe der Abfrage.

## Ein Lockfile zeichnet Versionen auf, keine Sicherung der Pakete

Betrachten Sie ein Offlineprojekt mit intakter `package-lock.json`, aber entfernten `node_modules` und Download-Caches. Die Versionsaufzeichnung bleibt, die zur Installation nötigen Pakete können aber unerreichbar sein. Ein Lockfile steuert die Versionsauswahl. Es bewahrt keine Paketdateien und keinen Zugang zu einer privaten Registry.

Gradles [Dokumentation zum Abhängigkeitencache](https://docs.gradle.org/current/userguide/dependency_caching.html) erklärt, warum Offlinebuilds die nötigen Artefakte lokal brauchen. Seine [Anleitung zu Verzeichnissen und Aufbewahrung](https://docs.gradle.org/current/userguide/directory_layout.html) trennt versionsspezifische Caches, geteilte Abhängigkeiten und Wrapper-Distributionen. Bevor Sie ein großes Verzeichnis `.gradle` leeren, erkennen Sie, welche Kategorie gewachsen ist. Alte Einträge, die das Werkzeug verwaltet, und Abhängigkeiten, die ein aktives Projekt noch braucht, verdienen verschiedene Entscheidungen.

<figure class="blog-diagram">
  <picture>
    <source media="(max-width: 900px)" srcset="/img/blog/windows-windows-developer-caches-en-mobile.webp" type="image/webp" width="768" height="1500">
    <img src="/img/blog/windows-windows-developer-caches-en.webp" width="1360" height="454" loading="lazy" alt="Entwicklungsspeicher hat verschiedene Rollen">
  </picture>
  <figcaption>Die vier Verzeichnisrollen haben verschiedene Neuaufbaukosten. Ein Lockfile zeichnet Versionen auf, statt Pakete oder Werkzeugketten zu bewahren.</figcaption>
</figure>

## Was Mole übernimmt und was beim Werkzeug bleibt

Mole for Windows listet erkannte Caches von npm, pip und anderen. Inhalt in Verwendung bleibt geschützt, und Einträge mit Daten, die sich nicht automatisch neu erzeugen, warten auf Prüfung. Es behandelt nicht den Abhängigkeitsordner jedes Projekts als allgemeinen Cache. Ein Bereinigungselement auszuwählen erlaubt nicht, jeden Node.js- oder Python-Prozess auf dem PC zu beenden.

Gradles `caches` und `wrapper\dists` bleiben außerhalb des Bereinigungsumfangs von Mole. Die Synchronisierung von Android Studio und der nächste Build können sie direkt brauchen. Lassen Sie Gradle die Aufbewahrung verwalten, statt eine Version zu leeren, nur um sie erneut herunterzuladen.

Verwalten Sie Projektausgaben nach der Anleitung dieses Projekts. Die Tabelle erklärt Verzeichnisrollen. Sie bedeutet nicht, dass Mole jeden aufgeführten Projektpfad scannt und automatisch löscht. Quelle, Konfiguration, Sitzungen und lokale Modelle werden nicht zu Caches, nur weil sie in Entwicklungsordnern liegen.

## Danach mit demselben Projekt prüfen

Behalten Sie eine unabhängige Kopie von allem, was Sie brauchen, und behandeln Sie dann ausgewählte Caches. Wiederholen Sie die ursprüngliche Installation oder den Build des Projekts und notieren Sie nötige Downloads. Leeren Sie Abhängigkeiten, Werkzeugversionen und Download-Caches nicht gemeinsam, kurz bevor eine Offlinepräsentation oder Reise ansteht.

Belegen virtuelle Datenträger, Modelle oder große Ausgaben den meisten Speicher, nutzen Sie die [Anleitung zu großen Dateien](/de/windows/blog/find-large-files-on-windows). Die [Cacheanleitung](/de/windows/blog/windows-cache-cleanup) trennt gewöhnliche Caches von persönlichen Daten.


Canonical: https://mole.fit/de/windows/blog/windows-developer-caches
