AskCleanAskClean

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

Що можна видаляти та скільки коштує відновлення

Знайдіть і виміряйте кеш завантажень, який насправді використовує 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, але не перезаписуйте наявний файл і не змінюйте розв’язання залежностей під час очищення.

Джерела

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