Як безпечно очистити кеш npm на Mac
Команда AskClean · Оновлено 2026-08-05
Знайдіть активний кеш командою npm config get cache, виміряйте цей шлях за допомогою du й до будь-якого видалення виконайте npm cache verify. Використовуйте npm cache clean --force лише тоді, коли потрібно звільнити виміряний обсяг і ви готові повторно завантажувати пакети. Ця операція не видаляє node_modules, package.json чи lock-файл проєкту.

Не плутайте кеш npm із залежностями та файлами проєкту
Кеш npm зберігає завантаження, які можуть повторно використовувати різні проєкти. У macOS типовий шлях — ~/.npm, але конфігурація може його змінити. node_modules — установлене дерево залежностей проєкту, а package.json і package-lock.json описують його стан; жоден із цих об’єктів не є кешем. npm-shrinkwrap.json теж не кеш, однак npm v12 більше не читає його. Якщо це єдиний lock-файл старого проєкту, перейменуйте його на package-lock.json перед повторним встановленням через npm v12; наявний package-lock.json не перезаписуйте.
Виміряйте активний кеш і спершу перевірте його
Не вважайте наявну ~/.npm активним кешем автоматично. npm config get cache показує шлях для поточної конфігурації: виміряйте саме його й запишіть обсяг вільного місця. npm cache verify перевіряє індекс і цілісність даних та прибирає непотрібне, не викидаючи всі придатні завантаження. Для звичайного обслуговування цього часто достатньо; ERESOLVE, помилки автентифікації, 404, проксі, несумісний Node.js, нативна збірка або postinstall потребують окремої діагностики.
- Виконайте npm --version і npm config get cache, а потім переконайтеся, що показаний шлях веде до кешу, а не до проєкту.
- Виміряйте цей точний шлях командою du -sh і запишіть обсяг вільного місця в macOS, не змінюючи package.json та lock-файл.
- Зупиніть активні npm install, npm ci, npm exec і публікації, потім виконайте npm cache verify та збережіть підсумок і помилки.
- Запускайте npm cache clean --force, лише якщо verify не дав потрібного результату, виграш суттєвий, а необхідні артефакти лишаються доступними.
- Знову виконайте npm cache verify, виміряйте той самий шлях і перевірте типовий проєкт із незміненим lock-файлом, збіркою та тестами.
Ніколи не передавайте неперевірений шлях команді rm -rf. Не поєднуйте очищення кешу з видаленням або повторним створенням lock-файла: інакше одночасно зміняться два чинники й порівняти результат не вдасться.
Запускайте npm cache clean --force лише з вагомої причини
Виконуйте npm cache clean --force, тільки якщо виміряний кеш достатньо великий, місце потрібне зараз, а артефакти можна отримати знову. Наступне встановлення або npm ci буде повільнішим і може завершитися помилкою без мережі або за недоступності приватного реєстру, Git-хоста, проксі чи знятого з публікації пакета. Застосовуйте --force лише в цій команді й не зберігайте його як постійне налаштування npm.
Перевірте результат, не змінюючи граф залежностей
Після очищення знову запитайте шлях через npm config get cache, виміряйте його та порівняйте фактичний обсяг вільного місця в macOS. Перевірте один типовий проєкт із незміненими package.json і lock-файлом, а потім запустіть його збірку й тести. Якщо початкова помилка повернулася, не повторюйте очищення: дослідіть збережене повідомлення, версії npm і Node.js, облікові дані та мережеву конфігурацію. AskClean розпізнає стандартну ~/.npm; користувацький шлях усе одно треба перевіряти через npm.
Що можна видаляти та скільки коштує відновлення
Знайдіть і виміряйте кеш завантажень, який насправді використовує npm, спершу перевірте його й очищуйте лише заради виправданого виграшу місця.
| Об’єкт або дія | Де перевірити | Наслідки видалення |
|---|---|---|
| Не плутайте кеш npm із залежностями та файлами проєкту | npm config get cache | Кеш npm зберігає завантаження, які можуть повторно використовувати різні проєкти. У macOS типовий шлях — ~/.npm, але конфігурація може його змінити. node_modules — установлене дерево залежностей проєкту, а package.json і package-lock.json описують його стан; жоден із цих об’єктів не є кешем. npm-shrinkwrap.json теж не кеш, однак npm v12 більше не читає його. Якщо це єдиний lock-файл старого проєкту, перейменуйте його на package-lock.json перед повторним встановленням через npm v12; наявний package-lock.json не перезаписуйте. |
| Виміряйте активний кеш і спершу перевірте його | npm cache verify | Не вважайте наявну ~/.npm активним кешем автоматично. npm config get cache показує шлях для поточної конфігурації: виміряйте саме його й запишіть обсяг вільного місця. npm cache verify перевіряє індекс і цілісність даних та прибирає непотрібне, не викидаючи всі придатні завантаження. Для звичайного обслуговування цього часто достатньо; ERESOLVE, помилки автентифікації, 404, проксі, несумісний Node.js, нативна збірка або postinstall потребують окремої діагностики. |
| Запускайте npm cache clean --force лише з вагомої причини | npm cache clean --force | Виконуйте npm cache clean --force, тільки якщо виміряний кеш достатньо великий, місце потрібне зараз, а артефакти можна отримати знову. Наступне встановлення або npm ci буде повільнішим і може завершитися помилкою без мережі або за недоступності приватного реєстру, Git-хоста, проксі чи знятого з публікації пакета. Застосовуйте --force лише в цій команді й не зберігайте його як постійне налаштування npm. |
| Перевірте результат, не змінюючи граф залежностей | встановлення + перевірка офлайн-режиму та приватного реєстру | Після очищення знову запитайте шлях через npm config get cache, виміряйте його та порівняйте фактичний обсяг вільного місця в macOS. Перевірте один типовий проєкт із незміненими package.json і lock-файлом, а потім запустіть його збірку й тести. Якщо початкова помилка повернулася, не повторюйте очищення: дослідіть збережене повідомлення, версії npm і Node.js, облікові дані та мережеву конфігурацію. AskClean розпізнає стандартну ~/.npm; користувацький шлях усе одно треба перевіряти через npm. |
FAQ
Чи безпечно виконувати npm cache clean --force на Mac?
Вихідний код не видалиться, якщо npm указує на справжній кеш, але повторно використовувані завантаження зникнуть. Спершу виміряйте й перевірте кеш, зупиніть процеси npm і передбачте мережу для наступних установлень.
Із чого почати: npm cache verify чи npm cache clean?
Завжди починайте з npm cache verify. Команда перевіряє цілісність і прибирає непотрібні дані, зберігаючи справний вміст. clean --force потрібен лише заради виміряного виграшу місця або підтвердженої проблеми кешу.
Очищення кешу npm видалить package-lock.json?
Ні. package.json і package-lock.json — файли проєкту. Якщо npm-shrinkwrap.json є єдиним lock-файлом старого проєкту, для npm v12 перейменуйте його на package-lock.json, але не перезаписуйте наявний файл і не змінюйте розв’язання залежностей під час очищення.
Джерела