Dokąd właściwie idzie dysk developera
Czterej wielcy zbieracze rzadko zaskakują kogoś, kto spojrzał choć raz: cache pakietów rośnie bez sufitu, bo taki jest default, node_modules powiela drzewo zależności w każdym projekcie, Docker trzyma każdą warstwę, jaką kiedykolwiek pociągnął albo zbudował, a WSL2 zamyka cały system plików Linuksa w wirtualnym dysku, który rośnie na żądanie i nigdy sam nie kurczy się z powrotem. Do tego indeksy IDE, artefakty budowania i trzy wersje SDK obok siebie — dwuletnia maszyna swobodnie wozi dziesiątki gigabajtów w pełni martwego balastu. Nic w tym nie jest tajemnicze: śmieci są po prostu rozsypane po tuzinie katalogów, do których nigdy nie zaglądasz.
- npm: %LOCALAPPDATA%\npm-cache — pełne kopie każdej wersji każdego pakietu, jaki kiedykolwiek zainstalowałeś
- pip: %LOCALAPPDATA%\pip\cache — wheele do wszystkiego, do tego ~/.cache/pip wewnątrz każdej dystrybucji WSL
- Docker Desktop: wiszące obrazy, zatrzymane kontenery, cache budowania i anonimowe wolumeny — docker system df pokazuje sumę, docker system prune ją odzyskuje
- WSL2: plik dystrybucji ext4.vhdx rośnie z każdym buildem i nigdy sam nie oddaje miejsca bez wymuszonej kompaktacji
- Projekty: node_modules porzuconego repo waży od setek MB do kilku GB — wartość siedzi w lockfile, folder da się odbudować
- IDE: katalogi cache i indeksów JetBrains, plus foldery target/, build/, dist/, obj/ rozsypane po każdym checkoucie
Kwartalny przegląd, we właściwej kolejności
Najpierw zmierz, żeby godzina poszła tam, gdzie jest masa: treemap nad profilem użytkownika, docker system df dla strony kontenerów, wsl --list --verbose dla dystrybucji. Potem od bezpiecznego do ryzykownego: cache odbudowuje się na żądanie, więc czyść śmiało — npm cache clean --force, pip cache purge i odpowiedniki w Gradle i cargo; dalej porzucone projekty — usuwaj foldery zależności, zachowuj lockfile, a gdy repo się obudzi, npm ci albo pip install -r odbuduje wszystko w minuty. Docker idzie po tym: przeczyść wiszące obrazy i cache budowania, zostaw otagowane te, które faktycznie uruchamiasz. Na końcu wirtualny dysk WSL2, bo kasowanie wewnątrz dystrybucji nie zmniejsza pliku po stronie Windows: odpal wsl --shutdown, potem skompaktuj vhdx — albo wyeksportuj i zaimportuj dystrybucję na nowo, jeśli rozrosła się naprawdę potwornie.
Nawyki, które trzymają dysk płasko
Higiena jako nawyk jest tańsza niż higiena jako akcja ratunkowa. Trzymaj narzędzia per projekt zamiast instalacji globalnych, pozwól CI ciągnąć świeże obrazy zamiast gromadzić je lokalnie i rób docker system prune co miesiąc, zanim zoo warstw zdąży coś zapamiętać. Wielogigabajtowe datasety włóż na drugi dysk i podlinkuj, żeby dysk systemowy trzymał tylko to, co się regeneruje. I traktuj prawie pełny C: jako incydent blokujący buildy, a nie kosmetyczny problem — npm, Docker i toolchain kompilatora zaczynają zawodzić kreatywnie, gdy kończy im się dysk na drapanie.
Pytania i odpowiedzi
Czy można bezpiecznie usunąć cache npm i pip?
Tak — cache istnieją po to, żeby je odbudowywać. npm cache clean --force i pip cache purge zwalniają miejsce, a następna instalacja po prostu pobierze to, czego potrzebuje.
Jak zmniejszyć dysk wirtualny WSL2?
Najpierw usuń śmieci wewnątrz dystrybucji, potem uruchom wsl --shutdown i skompaktuj vhdx przez DiskPart albo Optimize-VHD. Dla naprawdę spuchniętej dystrybucji: eksport i ponowny import — świeży plik trzyma tylko żywe dane.
Sprawdź warunki przed zakupem
Porównaj czas licencji i liczbę urządzeń. Każdy płatny plan odblokowuje ten sam zestaw narzędzi PRO.
Przeczytaj także
Napisz do nas: [email protected]