记录---告别龟速删除!前端老司机教你秒删node_modules的黑科技
<h1 data-id="heading-0">🧑💻 写在开头</h1><p>点赞 + 收藏 === 学会🤣🤣🤣<br><br></p>
<div>
<div>
<h3 data-id="heading-0"><strong>引言:每个前端的痛——node_modules删除噩梦</strong></h3>
<blockquote>
<p>“npm install一时爽,删包火葬场。”这几乎是所有Node.js开发者都经历过的痛。尤其是当项目依赖复杂时,动辄几百MB甚至几个G的<code>node_modules</code>文件夹,手动删除时转圈圈的进度条简直让人抓狂。</p>
<p>如何高效解决这个问题?今天我们就来揭秘几种<strong>秒删node_modules的硬核技巧</strong>,让你从此告别龟速删除!</p>
</blockquote>
</div>
<br>
<div>
<div>
<h3 data-id="heading-1"><strong>一、为什么手动删除node_modules这么慢?</strong></h3>
<p><code>node_modules</code>的目录结构复杂,层级深、文件数量庞大(比如一个中型项目可能有上万个小文件)。手动删除时,操作系统需要逐个处理这些文件,导致效率极低,尤其是Windows系统表现更差。核心原因包括:</p>
<ol>
<li><strong>文件系统限制</strong>:Windows的NTFS和macOS的HFS+对超多小文件的删除并未优化,系统需要频繁更新索引和缓存,资源占用高。</li>
<li><strong>权限问题</strong>:某些文件可能被进程占用或权限不足,导致删除失败或卡顿。</li>
<li><strong>递归删除效率低</strong>:系统自带的删除命令(如右键删除)是单线程操作,而<code>node_modules</code>的嵌套结构会让递归删除耗时剧增。</li>
</ol><hr>
<h3 data-id="heading-2"><strong>二、终极方案:用rimraf实现“秒删”</strong></h3>
<p>如果你还在手动拖拽删除,赶紧试试这个Node.js社区公认的神器——<strong>rimraf</strong>!它的原理是封装了<code>rm -rf</code>命令,通过减少系统调用和优化递归逻辑,速度提升可达10倍以上。</p>
<h4 data-id="heading-3"><strong>操作步骤</strong></h4>
<h4 data-id="heading-3"><strong>1.全局安装rimraf</strong>(仅需一次):</h4>
</div>
</div>
</div>
<div class="cnblogs_Highlighter">
<pre class="brush:bash;gutter:true;">npm install rimraf -g</pre>
</div>
<h4>2.一键删除:</h4>
<p>进入项目根目录,执行:</p>
<div class="code-block-extension-header">
<div class="code-block-extension-headerLeft">
<div class="code-block-extension-foldBtn">
<div class="cnblogs_Highlighter">
<pre class="brush:bash;gutter:true;">rimraf node_modules
</pre>
</div>
<p> </p>
<p>实测:一个5GB的<code>node_modules</code>,10秒内删干净!</p>
<h4 data-id="heading-4">进阶用法</h4>
<ul>
<li>集成到npm脚本:在<code>package.json</code>中添加脚本,直接运行<code>npm run clean</code>:</li>
<li>
<div class="cnblogs_Highlighter">
<pre class="brush:bash;gutter:true;">{
"scripts": {
"clean": "rimraf node_modules"
}
}</pre>
</div>
</li>
</ul>
<ul>
<li>跨平台兼容:无论是Windows、Linux还是macOS,命令完全一致,团队协作无压力。</li>
</ul>
<hr>
<h3 data-id="heading-5">三、其他高效删除方案</h3>
<p>如果不想安装额外工具,系统原生命令也能解决问题:</p>
<h4 data-id="heading-6">1. Windows用户:用命令行暴力删除</h4>
<ul>
<li>CMD命令:
<div class="code-block-extension-header">
<div class="code-block-extension-headerLeft">
<div class="code-block-extension-foldBtn">
<div class="cnblogs_Highlighter">
<pre class="brush:bash;gutter:true;">rmdir /s /q node_modules</pre>
</div>
</div>
</div>
</div>
</li>
</ul>
</div>
</div>
<div class="code-block-extension-headerRight">
<blockquote>
<ul>
<li><code>/s</code>表示递归删除,<code>/q</code>表示静默执行(不弹窗确认)。</li>
</ul>
</blockquote>
<ul>
<li>PowerShell(更快):
<div class="code-block-extension-header">
<div class="code-block-extension-headerLeft">
<div class="cnblogs_Highlighter">
<pre class="brush:bash;gutter:true;">Remove-Item -Force -Recurse node_modules</pre>
</div>
</div>
</div>
</li>
</ul>
</div>
</div>
<h4 data-id="heading-7">2. Linux/macOS用户:终端直接起飞</h4>
<div class="cnblogs_Highlighter">
<pre class="brush:bash;gutter:true;">rm -rf ./node_modules
</pre>
</div>
<p> </p>
<h3 data-id="heading-8">四、避坑指南:删不干净怎么办?</h3>
<p>有时即使删了<code>node_modules</code>,重新安装依赖仍会报错。此时需要彻底清理残留:</p>
<p><strong>清除npm缓存:</strong></p>
<div class="cnblogs_Highlighter">
<pre class="brush:bash;gutter:true;">npm cache clean --force</pre>
</div>
<p><strong>删除锁文件:</strong></p>
<p>手动移除<code>package-lock.json</code>或<code>yarn.lock</code>。</p>
<p><strong>重启IDE:确保没有进程占用文件。</strong></p>
<h3 data-id="heading-9">五、总结:选对工具,效率翻倍</h3>
<p><img src="https://img2024.cnblogs.com/blog/2149129/202504/2149129-20250415183117151-604203197.png" alt="" loading="lazy"></p>
<blockquote>
<p> 推荐组合拳:日常使用<code>rimraf</code>+脚本,遇到权限问题时切换系统命令。</p>
</blockquote>
<div>
<h2>本文转载于:https://juejin.cn/post/7477926585087606820</h2>
</div>
<h3 id="tid-D8HBxE">如果对您有所帮助,欢迎您点个关注,我会定时更新技术文档,大家一起讨论学习,一起进步。</h3>
<p><img src="https://img2024.cnblogs.com/blog/2149129/202501/2149129-20250122165814748-630765389.png" alt="" loading="lazy"></p><br><br>
来源:https://www.cnblogs.com/smileZAZ/p/18827259
頁:
[1]