我有多个npm项目保存在本地目录。现在我想在没有node_modules文件夹的情况下备份我的项目,因为它占用了很多空间,也可以在任何时候使用npm install进行检索。
那么,使用命令行接口从指定路径递归删除所有node_modules文件夹的解决方案是什么呢?
我有多个npm项目保存在本地目录。现在我想在没有node_modules文件夹的情况下备份我的项目,因为它占用了很多空间,也可以在任何时候使用npm install进行检索。
那么,使用命令行接口从指定路径递归删除所有node_modules文件夹的解决方案是什么呢?
当前回答
从多个项目中删除node_modules文件夹。只需将它放在包含多个项目的项目文件夹中并运行它。
import os
import shutil
dirname = '/root/Desktop/proj' #Your Full Path of Projects Folder
dirfiles = os.listdir(dirname)
fullpaths = map(lambda name: os.path.join(dirname, name), dirfiles)
dirs = []
for file in fullpaths:
if os.path.isdir(file): dirs.append(file)
for i in dirs:
dirfiles1 = os.listdir(i)
fullpaths1 = map(lambda name: os.path.join(i, name), dirfiles1)
dirs1 = []
for file in fullpaths1:
if os.path.isdir(file):
dirs1.append(file)
if(file[-12:]=='node_modules'):
shutil.rmtree(file)
print(file)
其他回答
在Bash中,可以简单地使用
rm -rf node_modules **/node_modules
Bash函数删除node_modules。它将递归地从当前工作目录中删除所有node_modules目录, 打印时找到路径。
你只需要在你的$PATH中输入
rmnodemodules(){
find . -name 'node_modules' -type d -prune -exec echo '{}' \; -exec rm -rf {} \;
}
试一试 https://github.com/voidcosmos/npkill
npx npkill
它将找到所有的node_module,并允许您有选择地删除它们。
从多个项目中删除node_modules文件夹。只需将它放在包含多个项目的项目文件夹中并运行它。
import os
import shutil
dirname = '/root/Desktop/proj' #Your Full Path of Projects Folder
dirfiles = os.listdir(dirname)
fullpaths = map(lambda name: os.path.join(dirname, name), dirfiles)
dirs = []
for file in fullpaths:
if os.path.isdir(file): dirs.append(file)
for i in dirs:
dirfiles1 = os.listdir(i)
fullpaths1 = map(lambda name: os.path.join(i, name), dirfiles1)
dirs1 = []
for file in fullpaths1:
if os.path.isdir(file):
dirs1.append(file)
if(file[-12:]=='node_modules'):
shutil.rmtree(file)
print(file)
在Windows上,我使用下面的.BAT文件从当前文件夹中递归地删除node_modules:
@for /d /r . %d in (node_modules) do @if exist %d (echo %d && rd %d /s /q)
或者,通过CMD.EXE:
>cmd.exe /c "@for /d /r . %d in (node_modules) do @if exist %d (echo "%d" && rd "%d" /s /q)""