AskCleanAskClean

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

Equipo de AskClean · Actualizado 2026-08-05

Puedes borrar node_modules si package.json, el lockfile correcto y todas las dependencias necesarias 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.

Distingue node_modules del proyecto y de 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. rm -rf ./node_modules evita 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.

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 fuente y el lockfile, elimina dependencias proyecto a proyecto y reinstálalas con npm, pnpm, Yarn o Bun.

Elemento o acciónDónde comprobarConsecuencia
Distingue node_modules del proyecto y de 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. 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 reconstruirpackage.json + lockfile + configuración del workspaceUn 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.
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. rm -rf ./node_modules evita 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.
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. 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.

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