為什麼依賴目錄增長得這麼快
前端工具鏈會拉取大量小檔案和平台二進制。monorepo、Electron、Playwright 或包含原生模塊的項目尤其明顯。舊項目即使不再打開,依賴目錄也不會自動消失。
不要只搜索名為 node_modules 的目錄數量;應按實際佔用排序。某個近期項目可能有多個工作區,真正佔用比頂層目錄看起來更大。
刪除前確認可重建條件
保留 package.json 與對應的 package-lock.json、pnpm-lock.yaml 或 yarn.lock,並確認私有 registry 仍可訪問。若項目依賴已經下線的包、未提交補丁或本地鏈接,刪除後不一定能恢復到原狀態。
先提交工作區變更或保存補丁。對需要離線演示的項目,不要在出差前清依賴;網路、Node 版本和原生編譯環境都會影響重新安裝。
選擇性清理舊項目
優先刪除已歸檔、已合併或數月未打開項目中的 node_modules。活躍項目里可先清理構建輸出與工具快取,避免每次都支付完整安裝時間。
Diskly 的目錄樹圖能讓由大量小檔案組成的依賴目錄顯示為一個匯總塊。找到目標後在 Finder 中顯示,逐個確認項目狀態,不建議對整個使用者目錄運行未經檢查的遞歸刪除命令。
減少未來的重復佔用
統一團隊包管理器並使用 lockfile;pnpm 的內容尋址存儲可減少相同包的重復副本,但全局 store 也需要按官方命令維護。定期歸檔不再活躍的項目,並在項目說明中寫清 Node 與包管理器版本。
清理後用鎖檔案的嚴格安裝模式驗證一次,例如 npm ci 或對應工具的 frozen-lockfile 選項,確認項目確實可以恢復。