Cómo vaciar la caché de npm en el Mac de forma segura
Equipo de AskClean · Actualizado 2026-08-05
Localiza la caché activa con npm config get cache, mide exactamente esa ruta y ejecuta npm cache verify antes de borrar nada. Usa npm cache clean --force solo si necesitas el espacio y aceptas las futuras descargas. node_modules, package.json y el lockfile no son caché y deben permanecer intactos.

Separa caché, dependencias instaladas y proyecto
La caché de npm guarda descargas reutilizables para varios proyectos y suele estar en ~/.npm en macOS, aunque puede configurarse otra ubicación. node_modules es el árbol instalado de un proyecto. package.json y package-lock.json forman parte del estado del proyecto, no de la caché. npm-shrinkwrap.json tampoco es caché, pero npm v12 ya no lo lee: si es el único lockfile de un proyecto heredado, renombra ese archivo de formato idéntico a package-lock.json antes de reinstalar con npm v12. No sobrescribas un package-lock.json existente.
Mide la caché activa y verifícala primero
No des por hecho que un ~/.npm existente sea la caché activa. npm config get cache muestra la ruta usada por esa configuración; mídela con du y anota el espacio libre. npm cache verify comprueba el índice y los datos, valida su integridad y elimina contenido innecesario sin descartar todas las descargas válidas. Para el mantenimiento normal o un error de instalación ajeno a la caché, esa verificación suele bastar.
- Ejecuta npm --version y npm config get cache; confirma que la ruta obtenida es una caché y no una carpeta de proyecto.
- Mide esa ruta exacta con du -sh y anota el espacio libre de macOS, sin cambiar package.json ni los lockfiles.
- Detén los procesos npm install, npm ci, npm exec y de publicación; ejecuta npm cache verify y conserva el resumen y los errores.
- Ejecuta npm cache clean --force solo si verify no basta, el ahorro importa y todos los artefactos necesarios seguirán accesibles.
- Vuelve a ejecutar npm cache verify, mide la misma ruta y prueba un proyecto representativo con su lockfile, compilación y pruebas sin cambios.
No pases nunca una ruta sin comprobar a rm -rf. Tampoco combines la limpieza de caché con borrar o regenerar un lockfile: cambiarías dos variables a la vez y perderías la comparación necesaria para diagnosticar el problema.
Usa npm cache clean --force solo a propósito
Ejecuta npm cache clean --force únicamente si la caché medida es relevante, necesitas el espacio ahora y podrás volver a descargar los artefactos. El comando limpia la caché configurada, no node_modules ni los lockfiles. Después, npm install y npm ci pueden tardar más o fallar sin conexión; los registros privados, servidores Git, proxies y paquetes retirados elevan el coste de recuperación. No actives la opción force de npm de forma permanente.
Verifica el resultado sin cambiar dependencias
Tras la limpieza, consulta de nuevo la ruta, mide el mismo lugar y compara el espacio libre real de macOS. Prueba un proyecto representativo con package.json y su lockfile sin cambios, junto con su compilación y sus pruebas. Si vuelve el error original, no repitas el borrado: ERESOLVE, credenciales, 404, proxies, certificados, requisitos de versión de Node.js, compilaciones nativas y scripts de ciclo de vida requieren otro diagnóstico. AskClean reconoce ~/.npm por defecto; comprueba las rutas personalizadas con npm.
Límites de borrado y coste de recuperación
Encuentra y mide la caché de descargas que npm utiliza realmente, verifícala primero y bórrala solo cuando haya un motivo, sin tocar node_modules ni los archivos del proyecto.
| Elemento o acción | Dónde comprobar | Consecuencia |
|---|---|---|
| Separa caché, dependencias instaladas y proyecto | npm config get cache | La caché de npm guarda descargas reutilizables para varios proyectos y suele estar en ~/.npm en macOS, aunque puede configurarse otra ubicación. node_modules es el árbol instalado de un proyecto. package.json y package-lock.json forman parte del estado del proyecto, no de la caché. npm-shrinkwrap.json tampoco es caché, pero npm v12 ya no lo lee: si es el único lockfile de un proyecto heredado, renombra ese archivo de formato idéntico a package-lock.json antes de reinstalar con npm v12. No sobrescribas un package-lock.json existente. |
| Mide la caché activa y verifícala primero | npm cache verify | No des por hecho que un ~/.npm existente sea la caché activa. npm config get cache muestra la ruta usada por esa configuración; mídela con du y anota el espacio libre. npm cache verify comprueba el índice y los datos, valida su integridad y elimina contenido innecesario sin descartar todas las descargas válidas. Para el mantenimiento normal o un error de instalación ajeno a la caché, esa verificación suele bastar. |
| Usa npm cache clean --force solo a propósito | npm cache clean --force | Ejecuta npm cache clean --force únicamente si la caché medida es relevante, necesitas el espacio ahora y podrás volver a descargar los artefactos. El comando limpia la caché configurada, no node_modules ni los lockfiles. Después, npm install y npm ci pueden tardar más o fallar sin conexión; los registros privados, servidores Git, proxies y paquetes retirados elevan el coste de recuperación. No actives la opción force de npm de forma permanente. |
| Verifica el resultado sin cambiar dependencias | instalación + comprobación sin conexión/registro privado | Tras la limpieza, consulta de nuevo la ruta, mide el mismo lugar y compara el espacio libre real de macOS. Prueba un proyecto representativo con package.json y su lockfile sin cambios, junto con su compilación y sus pruebas. Si vuelve el error original, no repitas el borrado: ERESOLVE, credenciales, 404, proxies, certificados, requisitos de versión de Node.js, compilaciones nativas y scripts de ciclo de vida requieren otro diagnóstico. AskClean reconoce ~/.npm por defecto; comprueba las rutas personalizadas con npm. |
Preguntas frecuentes
¿Es seguro ejecutar npm cache clean --force en el Mac?
No toca el código fuente ni los archivos del proyecto si npm apunta a la caché correcta, pero elimina descargas reutilizables. Mide y verifica primero, detén los procesos activos y cuenta con necesitar red en instalaciones posteriores.
¿Debo ejecutar primero npm cache verify o npm cache clean?
Primero npm cache verify. Comprueba la integridad y elimina datos innecesarios conservando contenido válido; clean --force se reserva para una necesidad de espacio medida o un problema específico de caché confirmado.
¿Vaciar la caché de npm elimina package-lock.json?
No. package.json y package-lock.json son archivos del proyecto. npm v12 ignora npm-shrinkwrap.json; si es el único lockfile de un proyecto heredado, renómbralo a package-lock.json sin sobrescribir un archivo existente ni cambiar la resolución durante la limpieza.
Fuentes