Cómo encontrar y borrar carpetas node_modules viejas en el Mac
En resumen
node_modules solo guarda paquetes descargados: npm install (o pnpm, yarn, bun) lo rehace a partir del lockfile. Borrarlo en proyectos que no tocas desde hace tiempo es seguro y muchas veces libera decenas de gigas. Lo mismo vale para .venv de Python, target de Rust y carpetas de compilación como .next.
Por qué se puede borrar
node_modules es una copia de los paquetes que pide package.json. Tu código no está ahí. Si el proyecto tiene lockfile (package-lock.json, pnpm-lock.yaml, yarn.lock o bun.lock), al reinstalar vuelven exactamente las mismas versiones:
npm ci # o: pnpm install, yarn install, bun installLo que cuesta es tiempo y una descarga la próxima vez que abras el proyecto. Por eso tiene sentido en proyectos que no tocas desde hace semanas, no en el de hoy.
Encontrarlos todos, con su tamaño
Ejecuta esto desde la carpeta donde tienes tu código (aquí ~/Code; cámbiala por la tuya). Enseña cada node_modules con su tamaño, el mayor al final, sin entrar en los que hay dentro de otros:
find ~/Code -type d -name node_modules -prune -exec du -sh {} + 2>/dev/null | sort -hSi prefieres una lista donde elegir, npx npkill hace lo mismo desde la carpeta actual y borra el que marques con la barra espaciadora.
Borrarlos
Dentro del proyecto:
rm -rf node_modulesCon pnpm, los archivos de node_modules son enlaces a su almacén compartido, así que borrarlos libera poco por sí solo. Ejecuta después pnpm store prune para quitar los paquetes que ya no usa ningún proyecto.
Lo mismo en otros lenguajes
- Python:
.venvovenv. Vuelve conuv syncopip install -r requirements.txt. - Rust:
target, a menudo de varios GB.cargo cleanlo borra; la siguiente compilación lo rehace. - Compilaciones:
.next,.nuxt,.turbo,.svelte-kit,.parcel-cache,.buildde Swift. Se rehacen al volver a ejecutar. - Xcode guarda las compilaciones fuera del proyecto, en DerivedData (mira la guía de Xcode).
Cuándo tener cuidado
- Sin lockfile: al reinstalar pueden llegar versiones más nuevas que se comporten distinto.
- Proyectos viejos: pueden necesitar la versión de Node que usaban (busca
.nvmrcoenginesenpackage.json), sobre todo si tienen módulos nativos. - Paquetes privados: necesitarás acceso a ese registro (y quizá una VPN) para reinstalarlos.
- Archivos editados dentro de node_modules: se pierden. Si parcheaste un paquete, guarda el parche con
patch-packageo el comando de parches de tu gestor.
DiskSpace AI lo hace por ti
Analiza tu Mac en minutos, te dice qué es cada carpeta y solo marca lo que se regenera solo. Tus archivos se apartan 7 días por si te equivocas. Gratis durante la beta.
Descargar la betaCarpetas de esta guía
- Caché de npm
~/.npm/_cacacheSe regenera solo - Paquetes temporales de npx
~/.npm/_npxSe regenera solo - Almacén de pnpm
~/Library/pnpm/storeSe regenera solo - Caché de Yarn
~/Library/Caches/YarnSe regenera solo - Caché de Bun
~/.bun/install/cacheSe regenera solo - Caché de uv (Python)
~/.cache/uvSe regenera solo - Paquetes globales de npm
~/.npm-globalRevisar
Más guías
- ¿No hay espacio para actualizar macOS? Cómo hacer sitio sin riesgo
- Qué son los «Datos del sistema» del Mac y por qué ocupan tanto
- Cómo liberar espacio en el Mac sin borrar nada importante
- Cómo encontrar y borrar fotos duplicadas en el Mac
- ¿Docker ocupa demasiado en el Mac? Cómo reducir Docker.raw
- ¿Xcode ocupa mucho? Qué puedes borrar (y qué no)
- Cómo borrar las cachés de npm, pnpm, pip, uv y Homebrew en el Mac
- Cómo encontrar archivos grandes en el Mac (también los ocultos)
- Qué es el espacio purgable del Mac y cómo liberarlo
- Alternativa a DaisyDisk: DiskSpace AI frente a DaisyDisk
- Alternativa a CleanMyMac sin suscripción
- Los mejores analizadores de espacio para Mac en 2026
- ¿Los modelos de IA llenan tu Mac? Dónde los guardan Ollama, LM Studio y Hugging Face
- ¿Las copias del iPhone ocupan espacio en el Mac? Cómo encontrarlas y borrarlas
- ¿Es seguro borrar ~/Library/Caches en el Mac?