Два інструменти — дві моделі кешування
npm тримає контентно-адресований кеш у %LOCALAPPDATA%\npm-cache: кожен будь-коли завантажений tarball, плюс логи та кеш _npx для одноразових запусків пакунків. Для роботи встановлених проєктів усе це не потрібне — кеш існує лише заради швидкості майбутніх установок і офлайну. pnpm улаштований інакше: єдиний стор (у свіжих версіях — %LOCALAPPDATA%\pnpm\store) зберігає справжні файли, а кожна папка node_modules у кожному проєкті зібрана з жорстких посилань на нього. Тому проєкти на pnpm не розмножують витрату диска, як на npm, — і тому сам стор росте без межі: кожна нова версія пакунка осідає там назавжди, поки ви не почистите.
Звідси й знайомий багатьом сюрприз: ви видалили старий проєкт, а місце не повернулося — жорсткі посилання у стосі тримають дані живими. Дивитися треба на стор, а не на папки проєктів.
Команди очищення, які варто знати
Усе тут безпечне за визначенням: кеші на те й кеші, інструменти відбудують їх на вимогу:
- npm cache clean --force — зносить увесь кеш npm; наступні установки завантажать потрібне заново
- npm cache verify — м'який варіант: збирання сміття й перевірка цілісності замість тотального зносу
- pnpm store prune — прибирає зі стора пакунки, на які вже не посилається жоден проєкт
- Видаліть %LOCALAPPDATA%\npm-cache\_npx — одноразові кеші запусків npx, завжди безпечно
- npm config set cache D:\dev\npm-cache — назавжди перенесіть кеш із SSD на диск для даних
- Спершу подивіться розміри: скан AppData кращий за сліпе видалення — npm-cache і стор pnpm зазвичай і є двома головними підозрюваними
Пастка жорстких зв'язків NTFS
Ось що збиває з пантелику всіх: на NTFS дані файла звільняються, лише коли зникає останнє жорстке посилання на нього. Видалити стор pnpm одразу після зачистки node_modules — і місце повернеться, як очікувалося. Видалити стор, поки проєкти ще посилаються на його файли, — не звільнить нічого: байти залишаться на диску, поки існує node_modules, а Explorer далі показуватиме записи стора, які фактично порожні. Порядок важливий: спершу приберіть проєкти (або їхні node_modules), потім запускайте pnpm store prune. CI-ранери та машини, що ганяють багато репозиторіїв, отримують від щомісячного чищення максимум; на ноутбуці з одним проєктом стор рідко заслуговує уваги.
Питання та відповіді
Чи можна видалити папку npm-cache в AppData?
Так. Там лежать лише завантажені архіви та логи; npm завантажить потрібне під час наступної установки. Використовуйте npm cache clean --force або просто видаліть папку.
Де pnpm store знаходиться у Windows?
У свіжих версіях pnpm — у %LOCALAPPDATA%\pnpm\store; точний шлях підкаже команда pnpm store path. Чистіть через pnpm store prune, а не видаленням папок вручну.
Перевірте склад ліцензії до покупки.
Разовий 30-хвилинний тест охоплює базові функції. Інструменти з позначкою PRO залишаються заблокованими до активації платної ліцензії.
Читайте також
Написати нам: [email protected]