TwilightRain | 清掉 9 GB 之后:三个早就坏了的组件

清掉 9 GB 之后:三个早就坏了的组件

约 2207 字 · 阅读约 6 分钟

原以为这活的难点在删干净,做完才发现难点在别的地方。

C 盘可用只剩 24 G。D 盘上还堆着几套早就不用的工具链,一个编辑器、一个命令行工具,加上一套安卓构建环境。趁着工作告一段落,我花了半天把它们卸掉。

有几样东西,where 说它还在,真敲下去就报错。它们早就不工作了,只是因为不报错,所以一直没人发现。

一、claude 命令是个死壳

最早撞见的问题很不起眼。我在命令行敲 claude --version,得到的是这样一行:

1
2
'"C:\Users\hxdn\AppData\Roaming\npm\\node_modules\@anthropic-ai\claude-code\bin\claude.exe"'
不是内部或外部命令,也不是可运行的程序或批处理文件

路径下的文件不存在。可 where claude 依然返回两条命中,看上去装得好好的。翻到那个安装目录才明白,里面只剩两个改名后的大文件:

1
2
claude.exe.old.1787828697355   320,400,544 字节
claude.exe.old.1789874404491 320,400,544 字节

名字里那一串是毫秒时间戳,用 new Date(1789874404491) 换算出来是 2026 年 9 月 20 日 11:20。Claude Code 的更新器在升级时会把正在运行的可执行文件改名成 <文件名>.old.<时间戳>,再从 npm 全局前缀装新版本。平时这两步落在同一个目录,看不出问题。

这台机器上它们落在了两个地方。~/.npmrc 里写着 prefix=D:\opencode,更新器认为自己的家在 D 盘,安装动作把新版本放进了 D:\opencode;可改名动作是对着正在运行的那份文件执行的,也就是 %APPDATA%\npm 里那个。旧目录被掏空,新目录拿到 2.1.278,PATH 上排在前面的是指向尸体的壳。

`D:\opencode` 不能删

它看着像某个工具的专用目录,实际是全机 npm 全局前缀,正在跑的那份 claude 本体就住在里面。正确做法是 npm uninstall -g <包名> 按包卸,再单独清掉旧前缀里那棵树,一共 865 MB。

二、两个不能整删的 npm 前缀

同一个坑还有另一半。%APPDATA%\npm 里也有 claude 的旧 shim,而它同时是 cc-connectfkill-clihexo-cli 的宿主。

两个前缀都不能按目录删,只能按包卸。删目录会连带弄坏一堆还在用的命令。

清理时还遇到一类容易踩的东西,符号链接。D:\ccr 是指向 E:\work_zone\Tools\ccr 的链接,rm -rf 会顺着链接把 164 MB 的真实目录一起端掉。改用 rmdir 只删链接,确认目标还在,再删目标,多花十秒钟。

三、另外两处失效的组件

顺着路径检查,又找出两个早就不工作、但因为不报错所以没人发现的东西。

前一阵修好的视觉 MCP,配置指向 %APPDATA%\npm\node_modules\@me9rez\llm-vision-mcp\index.js,而那个目录是空的。这个失效来自上一次 npm 前缀迁移,配置没跟着改。我把它指回本地那份源码副本,写了个握手脚本验证,发 initializetools/list,7 个工具全部返回。

Codex 是另一个样子。where codex 不可解析,但 ~/.codex 里完整躺着一份配置:自定义 provider 指向 DeepSeek、一个 auth.json、甚至还有一只桌宠。CLI 早就没了,配置还在等它回来。

四、顺手清出的最大一块

真正的意外在系统临时目录。四个 vscode-stable-user-x64* 目录占了 835 MB,是编辑器安装器解包时留下的,而编辑器本身早就卸了。这一块比工作区 Temp 里全部 613 个文件加起来还大十几倍。

五、账

批次 内容 回收
第一批 编辑器、命令行工具、旧 claude 安装、CCR、VSCode、Codex 配置 7774 MiB
第二批 Android SDK、Gradle、~/.android 721 MiB
第三批 工作区 Temp 与系统 Temp 里的安装器残留 882 MiB
合计 约 9377 MiB,即 9.16 GiB

还有一些不占空间的改动,也顺手做了:注册表里一个指向已删程序的协议键、用户级 PATH 两条失效项、机器 PATH 一条悬空项,加上三份技能文档里已经不可达的宿主分支。

六、留下的,和下次还会遇见的

留下没动的有几样:

有一件事下次还会遇到。~/.codex 会被 ClawdOnDesk 的 agent 脚本和 Tools\CCSwitch\cc-switch.exe 重建。它们还在机器上,再运行一次,那个目录就会回来。

这一趟下来,几条能带走的东西:

评论