问题
I have multiple npm projects saved in a local directory. Now I want to take backup of my projects without the node_modules
folder, as it is taking a lot of space and can also be retrieved any time using npm install
.
So, I need a solution to delete all node_modules folders recursively from a specified path using the command line interface. Any suggestions/ help is highly appreciable.
回答1:
Print out a list of directories to be deleted:
find . -name 'node_modules' -type d -prune
Delete directories from the current working directory:
find . -name 'node_modules' -type d -prune -exec rm -rf '{}' +
Alternatively you can use trash (brew install trash
) for staged deletion:
find . -name node_modules -type d -prune -exec trash {} +
回答2:
Improving on the accepted answer,
find . -name 'node_modules' -type d -prune -exec rm -rf '{}' +
I found that the command would run a very long time to fetch all folders and then run a delete command, to make the command resumable I'd suggest using \;
and to see progress of the command being run use -print
to see the directory being deleted.
Note: You must first cd
into the root directory and then run the command or instead of find .
use find {project_directory}
To delete folders one by one
find . -name 'node_modules' -type d -prune -exec rm -rf '{}' \;
To delete folders one by one and printing the folder being deleted
find . -name 'node_modules' -type d -prune -print -exec rm -rf '{}' \;
回答3:
I have come across with this solution,
- first find the folder using
find
and specify name of the folder. - execute delete command recursively
-exec rm -rf '{}' +
run the following command to delete folders recursively
find /path -type d -name "node_modules" -exec rm -rf '{}' +
回答4:
Try https://github.com/voidcosmos/npkill
npx npkill
it will find all node_modules and let you remove them.
回答5:
This works really well
find . -name "node_modules" -exec rm -rf '{}' +
来源:https://stackoverflow.com/questions/42950501/delete-node-modules-folder-recursively-from-a-specified-path-using-command-line