AI开发C盘急救指南:200GB剩10GB的自救实录

0 阅读3分钟

node_modules 黑洞到 AI 编辑器缓存怪兽,一份可复现的清理手册

前言

作为AIbug修复师,我们的电脑总是莫名其妙地"膨胀"。明明项目代码没多少,C盘却红得发紫。上周我的电脑报警:200GB的C盘仅剩10GB可用,本文记录完整的诊断和清理过程。

诊断:用 WizTree 锁定元凶

拒绝盲目清理,先用 WizTree 扫描(秒级完成,比系统自带快100倍):

52.1 GB  ├─ AppData
30.0 GB  │  ├─ Roaming
15.7 GB  │  │  ├─ Trae          ← 🔴 头号杀手:AI编辑器
 4.2 GB  │  │  ├─ DingTalk      ← 钉钉缓存
 2.7 GB  │  │  ├─ LarkShell     ← 飞书缓存
 2.5 GB  │  │  ├─ Tencent       ← QQ/微信
 1.2 GB  │  │  ├─ Code          ← VS Code
21.9 GB  │  ├─ Local             ← 待展开...

结论:不是 node_modules,是现代开发工具生态在吞噬空间。


清理方案:不丢数据的迁移术

1. Trae 15.7GB → 符号链接迁移

字节跳动的 AI 编辑器默认把模型、索引全塞 C 盘,且无官方路径设置

# 1. 完全关闭 Trae(任务管理器确认无残留进程)
taskkill /F /IM Trae.exe 2>$null

# 2. 整目录迁移到D盘(保留权限和时间戳)
$source = "C:\Users\Administrator\AppData\Roaming\Trae"
$target = "D:\AppData\Roaming\Trae"

robocopy $source $target /E /COPY:DAT /R:3 /W:5 /MT:8

# 3. 原子级替换:先重命名,再建链接
Rename-Item $source "Trae_backup_$(Get-Date -Format 'yyyyMMdd')"
cmd /c mklink /J $source $target

# 4. 验证后删除备份
# Remove-Item "$source_backup_xxxx" -Recurse

原理mklink /J 创建目录联接,Trae 以为自己还在 C 盘,实际读写都在 D 盘。


2. 钉钉/飞书/QQ → 官方设置 + 链接兜底

软件官方设置路径若设置无效,用符号链接
钉钉设置 → 文件管理 → 更改位置mklink /J "Roaming\DingTalk" "D:\DingTalk"
飞书设置 → 文件管理 → 文件保存位置同上
QQ设置 → 文件管理 → 更改目录注意同时迁移 Documents\Tencent Files

微信特别注意(聊天记录值钱,别乱删):

# 微信数据通常在 Documents,体积巨大
robocopy "C:\Users\Administrator\Documents\WeChat Files" `
         "D:\WeChat Files" /E /MOVE
mklink /J "C:\Users\Administrator\Documents\WeChat Files" "D:\WeChat Files"

3. npm/yarn 缓存根治配置

# 创建D盘统一目录
mkdir D:\nodejs\npm_global, D:\nodejs\npm_cache, D:\yarn\cache

# 永久修改配置(写入 .npmrc)
npm config set prefix "D:\nodejs\npm_global"
npm config set cache "D:\nodejs\npm_cache"

# Yarn 同理
yarn config set global-folder "D:\yarn\global"
yarn config set cache-folder "D:\yarn\cache"

# 清理旧缓存
npm cache clean --force
yarn cache clean

验证生效

npm config list
# 确认 prefix 和 cache 指向 D 盘

4. IDE 缓存清理(无需迁移,直接删)

VS Code

# 安全删除,重启后自动重建
Remove-Item "$env:APPDATA\Code\CachedData" -Recurse -Force
Remove-Item "$env:APPDATA\Code\logs" -Recurse -Force

WebStorm/IDEA

# 索引文件可重建,日志放心删
Remove-Item "$env:LOCALAPPDATA\JetBrains\*\index" -Recurse -Force
Remove-Item "$env:LOCALAPPDATA\JetBrains\*\log" -Recurse -Force

系统级收尾

Windows 更新清理(可能藏 10GB+)

# 分析组件存储
Dism.exe /Online /Cleanup-Image /AnalyzeComponentStore

# 执行清理(不可逆,但安全)
Dism.exe /Online /Cleanup-Image /StartComponentCleanup /ResetBase

休眠文件(不用休眠则关闭)

# 释放内存等量的空间(16GB内存=释放16GB)
powercfg -h off

虚拟内存迁移

设置  系统  关于  高级系统设置  性能  高级  虚拟内存
 关闭C盘自动管理  D盘设置自定义大小(建议 4096-8192MB)

成果验收

项目清理前清理后方式
Trae15.7GB~2GB符号链接迁移
钉钉4.2GB~500MB官方设置+链接
飞书2.7GB~300MB官方设置+链接
腾讯系2.5GB~1GB聊天记录迁移
npm缓存~2GB~200MB配置+清理
IDE缓存~3GB~500MB直接删除
系统更新残留~8GB~1GBDism清理
C盘总计~190GB已用~140GB已用释放50GB+

最终状态:C盘剩余 60GB+ 可用,告别红色警报。


长期防御:防止复发

# 每月定时任务(可加入计划任务)
npm cache clean --force
Remove-Item "$env:TEMP\*" -Recurse -Force -ErrorAction SilentlyContinue

# 新项目规范:一律放 D:\Projects
# 使用 pnpm 替代 npm(硬链接省空间)

附录:一键诊断脚本

保存为 disk-check.ps1,定期执行:

Write-Host "=== 前端环境磁盘占用分析 ===" -ForegroundColor Cyan

$targets = @(
    @{Name="Trae"; Path="$env:APPDATA\Trae"},
    @{Name="钉钉"; Path="$env:APPDATA\DingTalk"},
    @{Name="飞书"; Path="$env:APPDATA\LarkShell"},
    @{Name="QQ/微信"; Path="$env:APPDATA\Tencent"},
    @{Name="VS Code"; Path="$env:APPDATA\Code"},
    @{Name="npm缓存"; Path=(npm config get cache)},
    @{Name="Temp"; Path="$env:TEMP"}
)

$targets | ForEach-Object {
    if (Test-Path $_.Path) {
        $size = (Get-ChildItem $_.Path -Recurse -File -ErrorAction SilentlyContinue | 
                Measure-Object -Property Length -Sum).Sum / 1GB
        [PSCustomObject]@{
            项目 = $_.Name
            路径 = $_.Path
            大小GB = [math]::Round($size, 2)
            状态 = if ($size -gt 5) { "🔴 需清理" } elseif ($size -gt 1) { "🟡 关注" } else { "🟢 正常" }
        }
    }
} | Format-Table -AutoSize

如果本文对你有帮助,欢迎点赞收藏。你的 C 盘还遇到过什么奇葩的空间杀手?评论区见。


参考链接