Elimine la carpeta node_modules de forma recursiva desde una ruta especificada usando la línea de comando
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?
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 {} +
Pruebe https://github.com/voidcosmos/npkill
npx npkill
encontrará todos node_modules
y le permitirá eliminarlos selectivamente.
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 -print
para 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