windows删除node_modules[文件名或扩展名太长,目录层次超过无法删除的问题]

本文介绍了一种在Windows系统中有效删除大型node_modules文件夹的方法,利用npm中的rimraf插件,解决了因文件名过长或目录层级过深导致的删除失败问题。

问题

这几天遇到一个小问题,windows下无法直接删除node_modules这个目录【快捷键:ctrl+shift+del】,因为node_modules内部嵌套的子目录太多;
直接删除会报错:【文件名或扩展名太长无法删除,要么就是目录层次超过】

在网上搜索了好多办法都没法删除,WINPE那种应该可以,不过没尝试,嫌浪费时间【要制作启动盘】;
本地已经测试的:
- 360的粉碎工具
- 魔方的粉碎工具
- windows 内置命令

还是没法干掉。只能爬墙出去了。。。终于在stackoverflow找到了一个回答,简简单单的就删除了。


解决

使用的是npm里面一个专门用于删除的模块插件,看来这货不仅仅适用于gulp

rimraf

官方描述:A deep deletion module for node (like rm -rf)
简单点说,就是模拟unix或者linux下的rm -rf(强制删除命令)


安装

npm install -g rimraf


使用

<code class="language-bash hljs  has-numbering"><span class="hljs-built_in">cd</span> xxx[include node_modules folder]

rimraf nod_modules
</code><ul style="" class="pre-numbering"><li>1</li><li>2</li><li>3</li><li>4</li></ul>

删除的速度看电脑,我这边大概十来秒就完整的干掉整个项目的node_modules;干干净净。也不会报什么文件名过长,目录层次太深这些问题


C:\project2\new_headline_project\app-vue-headline>npm run dev > vue-manage@0.0.0 dev > vite VITE v6.3.5 ready in 595 ms ➜ Local: http://localhost:5173/ ➜ Network: use --host to expose ➜ press h + enter to show help Error: Failed to scan for dependencies from entries: C:/project2/new_headline_project/app-vue-headline/index.html C:/project2/new_headline_project/app-vue-headline/Untitled-1.html X [ERROR] ENOENT: no such file or directory, open 'C:\project2\new_headline_project\app-vue-headline\src\components\ContentList.vue' [plugin vite:dep-scan] node_modules/esbuild/lib/main.js:1267:21: 1267 │ let result = await callback({ ╵ ^ at async open (node:internal/fs/promises:633:25) at async Object.readFile (node:internal/fs/promises:1237:14) at async htmlTypeOnLoadCallback (file:///C:/project2/new_headline_project/app-vue-headline/node_modules/vite/dist/node/chunks/dep-DBxKXgDP.js:14390:19) at async requestCallbacks.on-load (C:\project2\new_headline_project\app-vue-headline\node_modules\esbuild\lib\main.js:1267:22) at async handleRequest (C:\project2\new_headline_project\app-vue-headline\node_modules\esbuild\lib\main.js:628:11) This error came from the "onLoad" callback registered here: node_modules/esbuild/lib/main.js:1141:20: 1141 │ let promise = setup({ ╵ ^ at setup (file:///C:/project2/new_headline_project/app-vue-headline/node_modules/vite/dist/node/chunks/dep-DBxKXgDP.js:14470:13) at handlePlugins (C:\project2\new_headline_project\app-vue-headline\node_modules\esbuild\lib\main.js:1141:21) at buildOrContextImpl (C:\project2\new_headline_project\app-vue-headline\node_modules\esbuild\lib\main.js:854:5) at Object.buildOrContext (C:\project2\new_headline_project\app-vue-headline\node_modules\esbuild\lib\main.js:680:5) at C:\project2\new_headline_project\app-vue-headline\node_modules\esbuild\lib\main.js:2035:68 at new Promise (<anonymous>) at Object.context (C:\project2\new_headline_project\app-vue-headline\node_modules\esbuild\lib\main.js:2035:27) at Object.context (C:\project2\new_headline_project\app-vue-headline\node_modules\esbuild\lib\main.js:1877:58) at prepareEsbuildScanner (file:///C:/project2/new_headline_project/app-vue-headline/node_modules/vite/dist/node/chunks/dep-DBxKXgDP.js:14266:24) The plugin "vite:dep-scan" was triggered by this import script:C:/project2/new_headline_project/app-vue-headline/src/views/HotView.vue?id=0:3:26: 3 │ import ContentList from '@/components/ContentList.vue' ╵ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ at failureErrorWithLog (C:\project2\new_headline_project\app-vue-headline\node_modules\esbuild\lib\main.js:1467:15) at C:\project2\new_headline_project\app-vue-headline\node_modules\esbuild\lib\main.js:926:25 at runOnEndCallbacks (C:\project2\new_headline_project\app-vue-headline\node_modules\esbuild\lib\main.js:1307:45) at buildResponseToResult (C:\project2\new_headline_project\app-vue-headline\node_modules\esbuild\lib\main.js:924:7) at C:\project2\new_headline_project\app-vue-headline\node_modules\esbuild\lib\main.js:936:9 at new Promise (<anonymous>) at requestCallbacks.on-end (C:\project2\new_headline_project\app-vue-headline\node_modules\esbuild\lib\main.js:935:54) at handleRequest (C:\project2\new_headline_project\app-vue-headline\node_modules\esbuild\lib\main.js:628:17) at handleIncomingPacket (C:\project2\new_headline_project\app-vue-headline\node_modules\esbuild\lib\main.js:653:7) at Socket.readFromStdout (C:\project2\new_headline_project\app-vue-headline\node_modules\esbuild\lib\main.js:581:7)
最新发布
07-25
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值