Як безпечно очистити кеш npm на Mac
Команда AskClean · Оновлено 2026-11-02
Знайдіть активний кеш командою 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 config get cache.
Що можна видаляти та скільки коштує відновлення
Знайдіть і виміряйте кеш npm на Mac, спершу перевірте його через npm cache verify, очищуйте лише за потреби й не зачіпайте node_modules та lock-файли.
| Тема | Де і чим перевірити | Що врахувати |
|---|---|---|
| Не плутайте кеш npm із залежностями та файлами проєкту | npm config get cache | Кеш npm зберігає завантаження, які можуть повторно використовувати різні проєкти, і перевіряє цілісність вмісту, що потрапляє в нього чи виходить із нього. |
| Виміряйте активний кеш і спершу перевірте його | npm cache verify | Не вважайте ~/.npm активним кешем лише тому, що ця папка існує. |
| Запускайте npm cache clean --force лише з вагомої причини | npm cache clean --force | Виконуйте npm cache clean --force, тільки якщо виміряний кеш достатньо великий, місце потрібне зараз, а артефакти можна отримати знову. |
| Перевірте результат, не змінюючи граф залежностей | встановлення + перевірка офлайн-режиму й приватного реєстру | Після очищення знову виконайте npm config get cache, виміряйте той самий шлях і порівняйте фактичний обсяг вільного місця в macOS. |
Часті запитання
Чи безпечно виконувати npm cache clean --force на Mac?
Вихідний код і маніфести не постраждають, якщо npm указує на справжній кеш, але повторно використовувані завантаження зникнуть. Спершу виміряйте й перевірте кеш, зупиніть процеси npm і розраховуйте, що наступні встановлення потребуватимуть мережі. Не складайте вручну команд рекурсивного видалення.
Із чого почати: npm cache verify чи npm cache clean?
Завжди починайте з npm cache verify: команда перевіряє цілісність і прибирає непотрібні дані, зберігаючи справний вміст. clean --force потрібен лише заради виміряного виграшу місця або підтвердженої проблеми кешу, яку verify не усунув.
Очищення кешу npm видалить package-lock.json або node_modules?
Ні. package.json і package-lock.json — файли проєкту, а node_modules — його встановлені залежності; очищення кешу їх не видаляє. Якщо npm-shrinkwrap.json — єдиний lock-файл старого проєкту, для npm v12 перейменуйте його на package-lock.json, але не перезаписуйте наявний файл і не змінюйте розвʼязання залежностей під час очищення.
Джерела