[{"data":1,"prerenderedAt":392},["ShallowReactive",2],{"blog-article-\u002Fzh\u002Fblog\u002Fclean-npm-cache":3},{"id":4,"title":5,"author":6,"body":7,"category":375,"cover":376,"coverAlt":377,"description":378,"draft":379,"extension":380,"meta":381,"navigation":382,"path":383,"publishedAt":384,"seo":385,"stem":386,"tags":387,"translationKey":390,"updatedAt":384,"__hash__":391},"articles_zh\u002Fzh\u002Fblog\u002Fclean-npm-cache.md","npm 缓存怎么清理，会删掉项目依赖吗？","Harry",{"type":8,"value":9,"toc":367},"minimark",[10,14,26,35,40,48,59,62,73,77,90,169,172,184,188,191,219,236,239,254,262,265,283,295,298,302,308,316,324,331,338,342,345,351,363],[11,12,13],"p",{},"项目早就不做了，安装依赖时留下的 npm 缓存却可能还在占空间。它通常藏在用户目录里，删掉项目文件夹也不一定会跟着消失。",[11,15,16,25],{},[17,18,19,20,24],"strong",{},"npm 下载缓存可以清理，它和项目里的 ",[21,22,23],"code",{},"node_modules"," 不是一回事。"," 在正常的缓存配置下，清理下载缓存不会卸载项目依赖，也不需要重装 Node.js；以后安装软件包时，可能需要重新下载。",[11,27,28,29,34],{},"不想翻隐藏目录，可以用 ",[30,31,33],"a",{"href":32},"\u002Fzh","MangoDisk"," 把 npm 和其他受支持的开发缓存一起找出来，直接比较占用。先看哪一项值得清，再决定删什么，比对着陌生文件夹猜用途省事。",[36,37,39],"h2",{"id":38},"用-mangodisk-看看-npm-缓存占了多少","用 MangoDisk 看看 npm 缓存占了多少",[11,41,42,43,47],{},"打开",[30,44,46],{"href":45},"\u002Fzh\u002Fdocs\u002Ffeatures\u002Fdeep-clean","深度清理","，运行扫描，找到 npm 缓存相关项目。展开后可以查看路径、容量和清理说明，不用自己到各个目录里查找。",[11,49,50],{},[51,52],"img",{"alt":53,"decoding":54,"height":55,"loading":56,"src":57,"width":58},"MangoDisk 深度清理列出 npm 等开发工具缓存的容量和勾选状态","async",1233,"lazy","https:\u002F\u002Fassets.mangodisk.app\u002Fimages\u002Fscreenshots\u002Fwindows\u002Fzh\u002Flight-01-deep-cleanup.jpg",1838,[11,60,61],{},"如果这次只想清 npm，先取消其他项目的选择，再勾选确认要清理的 npm 缓存。等正在进行的依赖安装和相关任务结束，核对清理范围与预计释放空间后，再确认执行。扫描本身不会删除文件。",[11,63,64,65,68,69,72],{},"MangoDisk 的内置规则覆盖 Windows 常见的 npm 缓存位置，以及 macOS 的 ",[21,66,67],{},"~\u002F.npm\u002F_cacache","。",[17,70,71],{},"如果你改过 npm 缓存位置，先按下文查询实际路径","，不要把“没有扫描到”理解成“没有缓存”。",[36,74,76],{"id":75},"缓存和-node_modules到底有什么区别","缓存和 node_modules，到底有什么区别？",[11,78,79,80,82,83,89],{},"两者都和软件包有关，但用途不同：缓存留着下载过的数据，",[21,81,23],{}," 则是项目实际使用的依赖目录。",[30,84,88],{"href":85,"rel":86},"https:\u002F\u002Fdocs.npmjs.com\u002Fcli\u002Fv11\u002Fconfiguring-npm\u002Ffolders\u002F",[87],"nofollow","npm 的目录说明","也将它们分开存放。",[91,92,93,109],"table",{},[94,95,96],"thead",{},[97,98,99,103,106],"tr",{},[100,101,102],"th",{},"内容",[100,104,105],{},"用途",[100,107,108],{},"清 npm 下载缓存时会怎样",[110,111,112,124,137,151],"tbody",{},[97,113,114,118,121],{},[115,116,117],"td",{},"npm 下载缓存",[115,119,120],{},"供后续安装复用的数据",[115,122,123],{},"被清理，需要时重新下载",[97,125,126,131,134],{},[115,127,128,129],{},"项目里的 ",[21,130,23],{},[115,132,133],{},"项目运行、构建所需的依赖",[115,135,136],{},"不会因此被卸载",[97,138,139,142,149],{},[115,140,141],{},"全局安装的命令行工具",[115,143,144,145,148],{},"用 ",[21,146,147],{},"npm install -g"," 安装的软件",[115,150,136],{},[97,152,153,163,166],{},[115,154,155,156,159,160],{},"源码、",[21,157,158],{},"package.json","、",[21,161,162],{},"package-lock.json",[115,164,165],{},"代码、依赖声明与版本记录",[115,167,168],{},"不是缓存清理对象，应保留",[11,170,171],{},"这里说的是缓存与项目正常分开放置的情况。如果曾把缓存路径改到混放个人文件的目录，先整理配置，不要直接清空它。",[11,173,174,175,177,178,183],{},"尤其别为了清缓存，顺手删掉 ",[21,176,162],{},"。它记录着",[30,179,182],{"href":180,"rel":181},"https:\u002F\u002Fdocs.npmjs.com\u002Fcli\u002Fv11\u002Fconfiguring-npm\u002Fpackage-lock-json\u002F",[87],"确定的依赖版本","，删除它还可能改变下一次安装得到的依赖版本。",[36,185,187],{"id":186},"想用命令行清理可以这样做","想用命令行清理，可以这样做",[11,189,190],{},"Windows 打开 PowerShell，macOS 打开终端，先查询当前 npm 使用的缓存路径：",[192,193,198],"pre",{"className":194,"code":195,"language":196,"meta":197,"style":197},"language-bash shiki shiki-themes github-light github-dark","npm config get cache\n","bash","",[21,199,200],{"__ignoreMap":197},[201,202,205,209,213,216],"span",{"class":203,"line":204},"line",1,[201,206,208],{"class":207},"sScJk","npm",[201,210,212],{"class":211},"sZZnC"," config",[201,214,215],{"class":211}," get",[201,217,218],{"class":211}," cache\n",[11,220,221,222,227,228,231,232,235],{},"这条命令只",[30,223,226],{"href":224,"rel":225},"https:\u002F\u002Fdocs.npmjs.com\u002Fcli\u002Fv11\u002Fcommands\u002Fnpm-config\u002F",[87],"读取配置","，不会清理文件。默认位置通常是 Windows 的 ",[21,229,230],{},"%LocalAppData%\\npm-cache","，或 macOS 的 ",[21,233,234],{},"~\u002F.npm","。可以在文件资源管理器或 Finder 中打开返回的目录，查看大小。",[11,237,238],{},"如果只是怀疑缓存有问题，可以先验证并回收其中不再需要的数据：",[192,240,242],{"className":194,"code":241,"language":196,"meta":197,"style":197},"npm cache verify\n",[21,243,244],{"__ignoreMap":197},[201,245,246,248,251],{"class":203,"line":204},[201,247,208],{"class":207},[201,249,250],{"class":211}," cache",[201,252,253],{"class":211}," verify\n",[11,255,256],{},[17,257,258,261],{},[21,259,260],{},"verify"," 不只是检查，它也会整理无用缓存，但不是强制清空缓存的命令。",[11,263,264],{},"确认需要释放这部分空间，且之后可以重新下载依赖时，等正在进行的安装和相关任务结束，再执行：",[192,266,268],{"className":194,"code":267,"language":196,"meta":197,"style":197},"npm cache clean --force\n",[21,269,270],{"__ignoreMap":197},[201,271,272,274,276,279],{"class":203,"line":204},[201,273,208],{"class":207},[201,275,250],{"class":211},[201,277,278],{"class":211}," clean",[201,280,282],{"class":281},"sj4cs"," --force\n",[11,284,285,286,289,290,68],{},"它会删除 npm 下载缓存，不经过回收站。npm 要求加上 ",[21,287,288],{},"--force","，是因为缓存通常能自行处理完整性问题，并不需要经常强制清空。具体行为见 ",[30,291,294],{"href":292,"rel":293},"https:\u002F\u002Fdocs.npmjs.com\u002Fcli\u002Fv11\u002Fcommands\u002Fnpm-cache\u002F",[87],"npm cache 官方文档",[11,296,297],{},"清完后，下次安装可能更慢，而不是更快。近期要离线工作，或者依赖的私有包暂时无法重新下载，就先保留缓存；它不是备份，但也没必要急着删。",[36,299,301],{"id":300},"清完还是不够看看是不是项目目录占得多","清完还是不够，看看是不是项目目录占得多",[11,303,304,305,307],{},"下载缓存清掉了，旧项目里的 ",[21,306,23],{}," 还在。这也是为什么有时清理成功，磁盘却没多出多少空间。",[11,309,310,311,315],{},"这时可以切到 MangoDisk 的",[30,312,314],{"href":313},"\u002Fzh\u002Fdocs\u002Ffeatures\u002Fdisk-analysis","磁盘空间分析","，选择开发项目所在的磁盘或文件夹。矩形图里方块越大，占用越多；点进去就能继续比较各个项目，不用逐个右键查看属性。",[11,317,318],{},[51,319],{"alt":320,"decoding":54,"height":321,"loading":56,"src":322,"width":323},"MangoDisk 磁盘空间分析通过目录列表和矩形图定位占用较大的文件夹",1171,"https:\u002F\u002Fassets.mangodisk.app\u002Fimages\u002Fscreenshots\u002Fwindows\u002Fzh\u002Flight-05-disk-space-analysis.jpg",1746,[11,325,326,327,330],{},"如果大头确实是暂时不用的项目依赖，可以回到深度清理，检查受支持的项目构建产物。",[17,328,329],{},"这与清 npm 下载缓存是两种操作","：删除项目依赖后，再运行项目需要重新安装；源码、锁文件和自己改过的依赖内容要先保留好。今天还要继续用的项目，不必为了腾空间来回重装。",[11,332,333,334,68],{},"空间分析里的“大目录”也不等于“可以删除”。在其中手动删除会永久移除文件，不经过回收站，拿不准的内容先保留，详见",[30,335,337],{"href":336},"\u002Fzh\u002Fdocs\u002Fsafety","安全清理指南",[36,339,341],{"id":340},"一次看清缓存不用挨个找目录","一次看清缓存，不用挨个找目录",[11,343,344],{},"只清一份 npm 缓存，命令行就能完成。想顺便看看其他工具留下了多少缓存、哪些旧项目占着空间，MangoDisk 更方便：在同一个界面里比较，再挑值得清理的部分。",[11,346,347,350],{},[30,348,349],{"href":32},"下载 MangoDisk","，先扫描看看。免费开源，支持 Windows 和 macOS，无需注册或登录；本文用到的扫描和清理在本机完成，无需启用 AI。",[11,352,353,354,358,359],{},"相关阅读：",[30,355,357],{"href":356},"\u002Fzh\u002Fblog\u002Fcodex-disk-usage","Codex 工作目录占用怎么清理"," · ",[30,360,362],{"href":361},"\u002Fzh\u002Fblog\u002Fcargo-cache-vs-target-folder","Cargo 缓存和 target 文件夹，哪些可以删",[364,365,366],"style",{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}",{"title":197,"searchDepth":368,"depth":368,"links":369},2,[370,371,372,373,374],{"id":38,"depth":368,"text":39},{"id":75,"depth":368,"text":76},{"id":186,"depth":368,"text":187},{"id":300,"depth":368,"text":301},{"id":340,"depth":368,"text":341},"开发者磁盘清理","\u002Fimages\u002Fblog\u002Fclean-npm-cache.webp","橙色刷子清走笔记本旁的缓存方块，另一侧的项目文件夹保持完整","npm 缓存占用太大？用 MangoDisk 查看并清理下载缓存，分清它和 node_modules 的区别；也可用 npm 命令清理，不必删除项目源码或重装依赖。",false,"md",{},true,"\u002Fzh\u002Fblog\u002Fclean-npm-cache","2026-09-16T14:40:00+08:00",{"title":5,"description":378},"zh\u002Fblog\u002Fclean-npm-cache",[388,23,389],"npm 缓存清理","开发工具缓存","article-clean-npm-cache","WUDLk4PcdudSDE3TCU82pW2pdRVfv0REFOjeOOQSEoA",1789637177634]