网络异常,图片无法展示
|
前言
就是如何合理又快速的删除某个工程下所有的node_modules目录;
其实用shell来解决这个场景就很方便了,都不用装第三方依赖;
一般类unix或linux的系统基本自带的两个命令, find
rm
效果图
网络异常,图片无法展示
|
这个场景出现在npm 7 workspace 模式下,
monorepo的一些包会安装一些自己独特的依赖;
这样工程内会存在多个地方有node_modules这个目录;
什么时候需要删除?
当包依赖发生重大变更的时候,
我们就需要一个相对干净的环境去重装依赖,使其能正确安装并且解析了;
脚本
一般来说若是package-lock.json存在,可能要先删除这个文件;
之后再删除node_modules, 在项目根路径~
# 删除 package-lock.json rm -rf package-lock.json # 递归删除下工程内的所有node_modules find . -name "node_modules" -type d -exec rm -rf '{}' + # 命令拆解注释 # . 当前目录 # -name 名字匹配,指定字符串作为寻找文件或目录的范本样式; # -type 查询文件类型。 -d 就是目录 # -exec 就是匹配后执行一些命令 # rm -rf '{}' 删除匹配到到('{}') # + 是个骚操作 # 一个-exec只能执行一个命令,而且必须在命令后面加上终结符,终结符有两个:“;”和“+”。 # 其中";" 会对每一个find到的文件去执行一次cmd命令。而”+“让find到的文件一次性执行完cmd命令。