Sum*_*mit 59 macos bash command-line-interface node-modules
我有多个npm项目保存在本地目录中.现在我想在没有node_modules文件夹的情况下备份我的项目,因为它占用了大量空间,并且可以随时使用来检索npm install.
因此,我需要一个解决方案,使用命令行界面从指定路径递归删除所有node_modules文件夹.任何建议/帮助都非常值得一提.
Dar*_* M. 133
原始答案:
find . -name 'node_modules' -type d -prune
Run Code Online (Sandbox Code Playgroud)
或者,您可以使用trash(brew install trash)进行保存删除:
find . -name 'node_modules' -type d -prune -exec rm -rf '{}' +
Run Code Online (Sandbox Code Playgroud)
jec*_*kep 56
试试 https://github.com/voidcosmos/npkill
npx npkill
Run Code Online (Sandbox Code Playgroud)
它将找到所有 node_modules 并让您删除它们。
Sid*_*rth 14
改进已接受的答案,
find . -name 'node_modules' -type d -prune -exec rm -rf '{}' +
Run Code Online (Sandbox Code Playgroud)
我发现该命令将运行很长时间来获取所有文件夹,然后运行删除命令,使命令可恢复我建议使用\;并查看正在运行的命令的进度-print用于查看正在删除的目录.
注意:您必须先cd进入根目录然后运行命令或代替find .使用find {project_directory}
逐个删除文件夹
find . -name 'node_modules' -type d -prune -exec rm -rf '{}' \;
Run Code Online (Sandbox Code Playgroud)
逐个删除文件夹并打印要删除的文件夹
find . -name 'node_modules' -type d -prune -print -exec rm -rf '{}' \;
Run Code Online (Sandbox Code Playgroud)
nos*_*tio 14
在 Windows 上,我使用以下文件从当前文件夹中递归.BAT删除:node_modules
@for /d /r . %d in (node_modules) do @if exist %d (echo %d && rd %d /s /q)
Run Code Online (Sandbox Code Playgroud)
或者,通过CMD.EXE:
>cmd.exe /c "@for /d /r . %d in (node_modules) do @if exist %d (echo "%d" && rd "%d" /s /q)""
Run Code Online (Sandbox Code Playgroud)
我遇到过这个解决方案,
find并指定文件夹的名称.-exec rm -rf '{}' +运行以下命令以递归方式删除文件夹
find /path -type d -name "node_modules" -exec rm -rf '{}' +
bash函数来删除node_modules. 它将node_modules从当前工作目录中递归地删除所有目录,同时打印找到的路径。
你只需要放入你的某个地方$PATH
rmnodemodules(){
find . -name 'node_modules' -type d -prune -exec echo '{}' \; -exec rm -rf {} \;
}
Run Code Online (Sandbox Code Playgroud)