Куди насправді йде диск розробника
Чотири головні накопичувачі рідко дивують того, хто хоч раз глянув: пакетні кеші зростають без стелі, бо таке замовчування; node_modules дублює дерево залежностей у кожному проєкті; Docker зберігає кожен шар, який колись звантажив або зібрав; WSL2 тримає усю файлову систему Linux у віртуальному диску, що росте на вимогу і сам ніколи не зменшується. Додайте індекси середовищ розробки, артефакти збирання і три версії SDK поруч — і дворічна машина спокійно везе десятки гігабайтів доведено мертвого вантажу. Нічого загадкового в цьому немає: сміття просто розмазане дюжиною каталогів, куди ви ніколи не заглядаєте.
- npm: %LOCALAPPDATA%\npm-cache — повні копії кожної версії кожного пакета, який ви коли-небудь ставили
- pip: %LOCALAPPDATA%\pip\cache — wheel-и на все підряд, плюс ~/.cache/pip усередині кожного дистрибутива WSL
- Docker Desktop: висячі образи, зупинені контейнери, кеш збирання та анонімні томи — docker system df покаже підсумок, docker system prune забере його
- WSL2: файл дистрибутива ext4.vhdx росте з кожним збиранням і не віддає місце назад без примусового стиснення
- Проєкти: node_modules у покинутому репозиторії важить від сотень мегабайтів до кількох гігабайтів — цінність у lock-файлі, тека перезбирається
- Середовища розробки: кеші та індекси JetBrains, плюс теки target/, build/, dist/, obj/, розсипані всіма чекаутами
Квартальний прохід, у правильному порядку
Спершу виміряйте, щоб година пішла туди, де маса: treemap-утиліта за профілем користувача, docker system df за контейнерну частину, wsl --list --verbose за дистрибутиви. Далі рухайтеся від безпечного до ризикованого: кеші перезбираються на вимогу, тож чистьте їх без страху — npm cache clean --force, pip cache purge і їхні двійники в Gradle і cargo; наступні — покинуті проєкти: видаляйте теки залежностей, lock-файли лишайте, і коли репозиторій прокинеться, npm ci або pip install -r перезбере все за хвилини. Потому — Docker: зносьте висячі образи і кеш збирання, позначені образи, які справді запускаєте, лишайте. Останнім — віртуальний диск WSL2, бо видалення всередині дистрибутива не стискають файл на боці Windows: виконайте wsl --shutdown, потім стисніть vhdx — або експортуйте й наново імпортуйте дистрибутив, якщо він розрісся справді потужно.
Звички, через які диск не росте
Гігієна як звичка дешевша за гігієну як рятувальну операцію. Тримайте інструменти всередині проєктів, а не в глобальних установках; хай образи тягає CI, а не локальний накопичувач; запускайте docker system prune щомісяця, поки звіринець шарів не обріс пам'яттю. Багатогігабайтові датасети винесіть на другий диск і прилинкуйте — системному диску дістанеться лише те, що перетворюється заново. І вважайте майже заповнений C: інцидентом збирання, а не косметикою: npm, Docker і компілятор починають падати найвинахідливішими способами, коли диск, на якому вони працюють, заповнюється під зав'язку.
Питання та відповіді
Чи можна видаляти кеші npm і pip?
Так — кеші для того й існують, щоб перезбиратися. npm cache clean --force і pip cache purge звільняють місце, а наступна установка просто звантажить потрібне знову.
Як зменшити віртуальний диск WSL2?
Спершу видаліть сміття всередині дистрибутива, потім виконайте wsl --shutdown і стисніть vhdx через DiskPart або Optimize-VHD. Для справді розрісшого дистрибутива — експорт і повторний імпорт: свіжий файл містить лише живі дані.
Перевірте склад ліцензії до покупки.
Разовий 30-хвилинний тест охоплює базові функції. Інструменти з позначкою PRO залишаються заблокованими до активації платної ліцензії.
Читайте також
Написати нам: [email protected]