Elimine la carpeta node_modules de forma recursiva desde una ruta especificada usando la línea de comando

Resuelto Sumit asked hace 7 años • 13 respuestas

Tengo varios proyectos npm guardados en un directorio local. Ahora quiero hacer una copia de seguridad de mis proyectos sin la carpeta node_modules , ya que ocupa mucho espacio y también se puede recuperar en cualquier momento usando npm install.

Entonces, ¿cuál sería una solución para eliminar todas las carpetas node_modules de forma recursiva desde una ruta especificada utilizando la interfaz de línea de comandos?

Sumit avatar Mar 22 '17 18:03 Sumit
Aceptado

Imprima una lista de directorios que se eliminarán:

find . -name 'node_modules' -type d -prune

Eliminar directorios del directorio de trabajo actual:

find . -name 'node_modules' -type d -prune -exec rm -rf '{}' +

Alternativamente, puede utilizar la papelera ( brew install trash) para una eliminación gradual:

find . -name node_modules -type d -prune -exec trash {} +
Darius avatar Apr 22 '2017 15:04 Darius

Pruebe https://github.com/voidcosmos/npkill

npx npkill

encontrará todos node_modulesy le permitirá eliminarlos selectivamente.

npkill

jeckep avatar Nov 06 '2019 17:11 jeckep

Mejorando la respuesta aceptada:

find . -name 'node_modules' -type d -prune -exec rm -rf '{}' +

Descubrí que el comando anterior se ejecutaría durante mucho tiempo para recuperar todas las carpetas y luego ejecutar un comando de eliminación. Para que el comando sea reanudable, sugeriría usar \;. Para ver el progreso del comando que se está ejecutando, use -printpara ver el directorio que se está eliminando.

Nota: Primero debe ingresar al directorio raíz y luego ejecutar el comando. O en lugar de find ., use find {project_directory}.

Para eliminar carpetas una por una:

find . -name 'node_modules' -type d -prune -exec rm -rf '{}' \;

Para eliminar carpetas una por una e imprimir la carpeta que se está eliminando:

find . -name 'node_modules' -type d -prune -print -exec rm -rf '{}' \;

Para las personas a las que les gusta una forma interactiva de hacer esto, consulte la respuesta de jeckep . Ejecute esto en el directorio que desea podar:

npx npkill
Sidharth avatar Nov 18 '2018 08:11 Sidharth