AskClean

Як безпечно очистити кеш 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 зберігає завантаження для повторного використання; маніфести, lock-файл і папка node_modules з установленими залежностями — окремі дані проєкту.

Не плутайте кеш 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 потребують окремої діагностики, а не очищення кешу.

  1. Виконайте npm --version і npm config get cache та переконайтеся, що показаний шлях веде до кешу, а не до проєкту.
  2. Виміряйте цей точний шлях командою du -sh і запишіть обсяг вільного місця в macOS, не змінюючи package.json та lock-файл.
  3. Зупиніть активні npm install, npm ci, npm exec і публікації, виконайте npm cache verify й збережіть підсумок та помилки.
  4. Запускайте npm cache clean --force, лише якщо verify не дав потрібного результату, виграш суттєвий, а потрібні артефакти лишаються доступними.
  5. Знову виконайте 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, але не перезаписуйте наявний файл і не змінюйте розвʼязання залежностей під час очищення.

Джерела

Інші посібники зі сховища для розробників