AskClean

Cómo borrar node_modules en el Mac sin perder tu proyecto

Equipo de AskClean · Actualizado 2026-11-02

Puedes borrar la carpeta node_modules de un proyecto si package.json y el lockfile correcto están intactos y sus dependencias siguen disponibles. Mide primero cada proyecto, detén los procesos activos y mueve a la Papelera solo la carpeta de dependencias comprobada. Reinstala después con el mismo gestor de paquetes y no vacíes la Papelera hasta que la compilación, las pruebas y la app vuelvan a funcionar.

Un brazo robótico mueve un bloque desde una red de dependencias hasta un contenedor de reciclaje; junto a la red quedan un plano, un candado y otro bloque bajo una cubierta transparente
Retira solo la carpeta de dependencias reconstruible; conserva el manifiesto, el lockfile, la configuración y el código fuente.

No confundas node_modules con el proyecto ni con la caché

node_modules contiene el árbol de dependencias instalado de un proyecto y solo puede reconstruirse si se conservan todos los elementos necesarios. Al borrarlo, el proyecto deja de ejecutarse y compilarse hasta completar la reinstalación. package.json, los lockfiles, el código fuente, la configuración, los parches, los archivos de workspace y el historial de Git permiten reproducir la instalación y no se deben borrar. La caché compartida de descargas de npm, normalmente en ~/.npm, es otra categoría de almacenamiento.

Comprueba que las dependencias se puedan reconstruir

Un lockfile hace la instalación más predecible, pero no es una copia de los paquetes. Confirma el gestor y su versión, el acceso a registros privados, VPN, dependencias Git y file:, workspaces locales, descargas externas y cadenas de herramientas nativas. npm v12 ya no lee npm-shrinkwrap.json: si es el único lockfile de un proyecto heredado, renombra ese archivo de formato idéntico a package-lock.json antes de usar npm v12. No sobrescribas nunca un package-lock.json existente; si están los dos, compara y reconcilia sus diferencias como un cambio aparte. Todo cambio que exista solo dentro de node_modules se perderá al borrarlo.

  1. Desde la raíz del proyecto, ejecuta pwd y du -sh ./node_modules; anota también el espacio libre de macOS.
  2. Comprueba package.json, el lockfile correcto, la configuración del workspace y los cambios locales con git status; si npm-shrinkwrap.json es el único lockfile de un proyecto heredado, renómbralo a package-lock.json antes de usar npm v12, sin sobrescribir ningún archivo existente.
  3. Verifica el acceso a registros privados, dependencias Git y file:, paquetes locales, descargas externas y herramientas de compilación; detén todo proceso que use node_modules.
  4. Mueve a la Papelera únicamente la carpeta node_modules comprobada y reinstala desde la raíz correcta con el gestor y el lockfile fijados por el repositorio.
  5. Ejecuta la compilación, las pruebas, el análisis estático y la app; vuelve a medir el espacio y solo entonces vacía la Papelera.

No uses node_modules como única copia de un paquete o de una corrección manual. Si una dependencia exacta ya no se puede obtener y no está archivada en otro lugar, borrarla puede dejar inutilizable un proyecto antiguo.

Elimina una sola carpeta de dependencias comprobada

En el proyecto confirmado, mueve solo node_modules a la Papelera del Finder, nunca el repositorio padre. En Terminal, rm -rf ./node_modules se salta la Papelera y es irreversible; antes vuelve a confirmar la raíz con pwd. Reinstala desde esa raíz con npm ci cuando package-lock.json sea el lockfile de referencia, o con el flujo de lockfile inmutable indicado por el repositorio para pnpm, Yarn o Bun. Trata un monorepo como un único sistema gobernado por el lockfile de su raíz. Si limpias con AskClean, las carpetas que confirmes se eliminan de forma permanente, sin pasar por la Papelera: si quieres margen para recuperarlas, muévelas tú a la Papelera desde el Finder.

Reinstala y verifica el proyecto completo

Que la instalación termine no demuestra por sí solo que el proyecto esté recuperado. Ejecuta sus compilaciones, pruebas, análisis estático y arranque documentados: los módulos nativos y los scripts de ciclo de vida aún pueden fallar tras un cambio de cadena de herramientas. La recuperación exige descargas, descompresión, enlaces y quizá compilación. Si falla, restaura la carpeta desde la Papelera y diagnostica credenciales, red, versiones y lockfile antes de limpiar otro proyecto.

Límites de borrado y coste de recuperación

Encuentra carpetas node_modules grandes, protege el código y el lockfile, borra dependencias proyecto a proyecto y reinstálalas con npm, pnpm, Yarn o Bun.

Elemento o acciónDónde comprobarConsecuencia
No confundas node_modules con el proyecto ni con la cachéproyecto/node_modulesnode_modules contiene el árbol de dependencias instalado de un proyecto y solo puede reconstruirse si se conservan todos los elementos necesarios.
Comprueba que las dependencias se puedan reconstruirpackage.json + lockfile + configuración del workspaceUn lockfile hace la instalación más predecible, pero no es una copia de los paquetes.
Elimina una sola carpeta de dependencias comprobadaPapelera / reinstalación con el gestor de paquetesEn el proyecto confirmado, mueve solo node_modules a la Papelera del Finder, nunca el repositorio padre.
Reinstala y verifica el proyecto completocompilación + pruebas + arranque de la appQue la instalación termine no demuestra por sí solo que el proyecto esté recuperado.

Preguntas frecuentes

¿Es seguro borrar node_modules en el Mac?

Normalmente sí, si conservas package.json, el lockfile correcto, los archivos del workspace, el código fuente y todos los orígenes de las dependencias. El proyecto no volverá a funcionar hasta completar la reinstalación y las comprobaciones.

¿Debo borrar package-lock.json junto con node_modules?

No. package-lock.json permite que npm reproduzca la resolución de dependencias. npm v12 ya no lee npm-shrinkwrap.json; si es el único lockfile de un proyecto heredado, renómbralo a package-lock.json sin sobrescribir un package-lock.json existente.

¿node_modules y la caché de npm son lo mismo?

No. node_modules es el árbol de dependencias instalado de un proyecto; la caché compartida de npm suele estar en ~/.npm. Borrar una categoría no elimina la otra.

Fuentes

Más guías sobre almacenamiento de desarrollo