
起因2026/7/12为了减少 SSD 写入计划将缓存和临时文件重定向到 RAM 盘。过程操作流程及遇到的问题装 ImDisk RAM 盘 → 设 TEMP 重定向 → Bun 打包的 opencode 启动失败 → 排查确认是 ImDisk 兼容性问题 → 提交 issue → 改为源码运行 → 发现 gradle 1.6G 缓存仍在 C 盘 → yarn 1.2G 缓存在 C 盘 → bun 缓存 526M 在 C 盘 → npm 缓存 7.5G 刚迁走 → UTF-8 Beta 导致老程序乱码 → C:\Windows\Temp junction 导致系统组件异常 → Clash Verge 日志 symlink 断开导致崩溃 → EventLog、WMI、WaaSMedic 等后台服务持续写入 SSD每个问题单独看都不大但累积起来的排查和修复时间比较可观。问题分析在 Windows 上配置开发环境需要处理以下方面的额外工作临时文件重定向需安装第三方 RAM 盘软件、修改注册表、处理软件兼容性。Linux 下 TMPDIR/tmp 默认即内存文件系统。包管理器缓存npm、yarn、bun、pnpm 等工具的缓存目录各自独立分散在 Local、Roaming、User Profile 等不同位置。Linux 下统一位于 ~/.cache。字符编码Windows 的 ACP 在 936GBK和 65001UTF-8之间切换时老程序存在乱码问题。Linux 默认 UTF-8。动态库加载Windows 涉及 side-by-side、WinSxS 等机制Bun 需要从 TEMP 目录提取 DLL。Linux 通过 LD_LIBRARY_PATH 配置。符号链接Windows 区分 junction、symlink、hardlink跨卷有限制需管理员权限。Linux 下 ln -s 通用。后续计划现有 R: RAM 盘配置和缓存迁移方案已归档计划迁移到 Linux 环境环境迁移说明将开发环境从 Windows 迁移到 Linux主要是为了解决上述配置成本问题。Linux 在以下方面与现有开发工具链的兼容性更好opencode 等基于 Bun 的工具在 Linux 上无 B: 驱动器依赖问题包管理器缓存路径统一便于统一重定向文件权限和符号链接机制更直接具体迁移方案根据实际项目进度安排执行。