[{"data":1,"prerenderedAt":259},["ShallowReactive",2],{"blog-article-\u002Ftw\u002Fblog\u002Fclear-pnpm-store-cache":3},{"id":4,"title":5,"author":6,"body":7,"category":240,"cover":241,"coverAlt":242,"description":243,"draft":244,"extension":245,"meta":246,"navigation":247,"path":248,"publishedAt":249,"seo":250,"stem":251,"tags":252,"topics":255,"translationKey":257,"updatedAt":249,"__hash__":258},"articles_tw\u002Ftw\u002Fblog\u002Fclear-pnpm-store-cache.md","pnpm 快取占太多空間，該怎麼清？","Harry",{"type":8,"value":9,"toc":233},"minimark",[10,14,26,30,39,50,53,68,93,100,104,107,121,131,138,142,145,159,168,182,186,195,198,206,213,229],[11,12,13],"p",{},"舊專案刪掉了，磁碟卻沒空出多少；找了一下，才發現 pnpm 的 store 還留著不少檔案。這不一定是沒刪乾淨：pnpm 會把下載過的套件放在共用儲存區，讓不同專案重複使用，不會隨著某個專案一起消失。",[11,15,16,25],{},[17,18,19,20,24],"strong",{},"只想整理不再使用的套件，可以先用 ",[21,22,23],"code",{},"pnpm store prune","。想知道 pnpm 和其他開發工具各占了多少空間，則可以先用 MangoDisk 掃描，再決定清哪些。"," 不必一開始就清空整個 store，更不用動到原始碼和鎖定檔。",[27,28,29],"h2",{"id":29},"一次比較各種開發工具的快取",[11,31,32,33,38],{},"電腦用過 npm、pnpm、Python、Rust，快取通常散在不同資料夾。打開 MangoDisk 的",[34,35,37],"a",{"href":36},"\u002Ftw\u002Fdocs\u002Ffeatures\u002Fdeep-clean","深度清理","，掃描後就能在同一個畫面比較支援項目的大小，不必逐一查路徑。",[11,40,41],{},[42,43],"img",{"alt":44,"decoding":45,"height":46,"loading":47,"src":48,"width":49},"MangoDisk 深度清理顯示 Windows 上開發工具快取的大小與路徑","async",1171,"lazy","https:\u002F\u002Fassets.mangodisk.app\u002Fimages\u002Fscreenshots\u002Fwindows\u002Ftw\u002Flight-01-deep-cleanup.jpg",1746,[11,51,52],{},"找到 pnpm 快取項目，展開查看路徑和大小。若只占一點空間，可以先留著；若已經累積不少，再依照下文判斷要整理還是清空。單純掃描不會刪除檔案。",[11,54,55,56,59,60,63,64,67],{},"MangoDisk 目前涵蓋 Windows 的 ",[21,57,58],{},"%LocalAppData%\\pnpm\\store","，以及 macOS 的 ",[21,61,62],{},"~\u002FLibrary\u002Fpnpm\u002Fstore"," 和 ",[21,65,66],{},"~\u002FLibrary\u002FCaches\u002Fpnpm","。如果你改過儲存位置，先用指令確認目前的路徑：",[69,70,75],"pre",{"className":71,"code":72,"language":73,"meta":74,"style":74},"language-bash shiki shiki-themes github-light github-dark","pnpm store path\n","bash","",[21,76,77],{"__ignoreMap":74},[78,79,82,86,90],"span",{"class":80,"line":81},"line",1,[78,83,85],{"class":84},"sScJk","pnpm",[78,87,89],{"class":88},"sZZnC"," store",[78,91,92],{"class":88}," path\n",[11,94,95,96,99],{},"這個指令只會顯示路徑。",[17,97,98],{},"MangoDisk 沒掃到自訂位置，不代表那裡沒有快取。"," 可以用檔案總管或 Finder 開啟指令回傳的資料夾，查看占用空間。",[27,101,103],{"id":102},"用-prune-整理不再使用的套件","用 prune 整理不再使用的套件",[11,105,106],{},"Windows 開啟 PowerShell，macOS 開啟「終端機」。等套件安裝和建置工作結束後，執行：",[69,108,110],{"className":71,"code":109,"language":73,"meta":74,"style":74},"pnpm store prune\n",[21,111,112],{"__ignoreMap":74},[78,113,114,116,118],{"class":80,"line":81},[78,115,85],{"class":84},[78,117,89],{"class":88},[78,119,120],{"class":88}," prune\n",[11,122,123,124,130],{},"它會直接刪除 store 中未被參照的套件，不會移到資源回收筒或垃圾桶，也不是清空整個資料夾。之後切換分支或安裝舊版相依套件時，如果又需要這些套件，pnpm 會重新下載。",[34,125,129],{"href":126,"rel":127},"https:\u002F\u002Fpnpm.io\u002Fcli\u002Fstore",[128],"nofollow","pnpm 官方文件","建議偶爾整理即可，不必每次安裝完就清一次。",[11,132,133,134,137],{},"清完仍有檔案是正常的，",[21,135,136],{},"prune"," 原本就不是要把資料夾清到全空。如果近期要離線工作，或暫時連不上私有套件來源，先保留快取，以免之後安裝時缺少套件。",[27,139,141],{"id":140},"要清空快取先確認能重新下載","要清空快取，先確認能重新下載",[11,143,144],{},"若你已確認快取可以重新建立，想直接清掉這部分資料，可以在 MangoDisk 取消其他項目的勾選，只選取核對過的 pnpm 快取，再確認清理。",[11,146,147,153,154,158],{},[17,148,149,150,152],{},"這和 ",[21,151,136],{}," 不同：MangoDisk 會清理選取的快取資料夾，不會逐一判斷套件是否仍被專案使用。"," 執行前先結束相關工作，確認資料夾沒有混放個人檔案，也能重新下載需要的套件。刪除方式與還原限制可參考",[34,155,157],{"href":156},"\u002Ftw\u002Fdocs\u002Fsafety","安全清理指南","。",[11,160,161,162,167],{},"特別留意全域虛擬儲存區：如果專案啟用了這個設定，或全域工具正在使用 store 裡的共用相依套件，清空後可能要重新安裝才能執行。這種情況不要整個刪除，請使用目前 pnpm 版本支援的整理方式；不確定就先保留。",[34,163,166],{"href":164,"rel":165},"https:\u002F\u002Fpnpm.io\u002Fsettings\u002Fnode-modules#enableglobalvirtualstore",[128],"pnpm 儲存設定說明","有更詳細的解釋。",[11,169,170,171,63,174,177,178,181],{},"原始碼、",[21,172,173],{},"package.json",[21,175,176],{},"pnpm-lock.yaml"," 都不是快取，應該保留。專案裡的 ",[21,179,180],{},"node_modules\u002F.pnpm"," 也不是可以隨手清空的暫存資料夾，裡面有專案正在使用的相依套件。",[27,183,185],{"id":184},"資料夾很大不代表能釋放同樣多的空間","資料夾很大，不代表能釋放同樣多的空間",[11,187,188,189,194],{},"pnpm 可以讓不同專案共用檔案，不必每個專案都各存一份。使用硬連結時，store 和專案資料夾可能指向磁碟上的同一份資料；刪掉其中一處，另一處仍在使用，就不會釋放這部分空間。",[34,190,193],{"href":191,"rel":192},"https:\u002F\u002Fpnpm.io\u002Fsymlinked-node-modules-structure",[128],"pnpm 的目錄結構說明","提供了具體範例。",[11,196,197],{},"因此，別把幾個資料夾顯示的容量直接加總，當成全部能清出的空間。實際效果要看清理前後的磁碟可用空間，也別因為變化不大，就接著刪除正在使用的相依套件。",[11,199,200,201,205],{},"pnpm 整理完還是不夠，可以用 MangoDisk 的",[34,202,204],{"href":203},"\u002Ftw\u002Fdocs\u002Ffeatures\u002Fdisk-analysis","磁碟空間分析","查看開發資料夾。也許真正占空間的是舊專案、建置輸出，或其他工具的快取。找出占用最多的地方，比反覆清同一份快取更有幫助。",[11,207,208,212],{},[34,209,211],{"href":210},"\u002Ftw","下載 MangoDisk","，在同一個畫面查看、比較並清理分散的開發工具快取。免費開源，不必註冊或登入。",[11,214,215,216,220,221,220,225],{},"延伸閱讀：",[34,217,219],{"href":218},"\u002Ftw\u002Fblog\u002Fclean-npm-cache","npm 快取清理"," · ",[34,222,224],{"href":223},"\u002Ftw\u002Fblog\u002Fcargo-cache-vs-target-folder","Cargo 快取與 target 資料夾",[34,226,228],{"href":227},"\u002Ftw\u002Fblog\u002Ftopics\u002Fdeveloper-cleanup","開發者磁碟清理指南",[230,231,232],"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);}",{"title":74,"searchDepth":234,"depth":234,"links":235},2,[236,237,238,239],{"id":29,"depth":234,"text":29},{"id":102,"depth":234,"text":103},{"id":140,"depth":234,"text":141},{"id":184,"depth":234,"text":185},"開發者磁碟清理","\u002Fimages\u002Fblog\u002Fclear-pnpm-store-cache.webp","兩個專案資料夾連到共用套件托盤，橘色刷子將多餘的方塊清到一旁","用 MangoDisk 查看 pnpm 快取的大小與路徑，了解 store prune 和清空資料夾的差別，以及對專案相依套件的影響，找出值得清理的空間。",false,"md",{},true,"\u002Ftw\u002Fblog\u002Fclear-pnpm-store-cache","2026-10-01T11:40:00+08:00",{"title":5,"description":243},"tw\u002Fblog\u002Fclear-pnpm-store-cache",[253,23,254],"pnpm 快取清理","開發工具快取",[256],"developer-cleanup","article-clear-pnpm-store-cache","wexefqReSHrEs9L3YufZwp4EaEEBKc4fXiN6SzyTAYo",1790826751293]