从 Windows 迁移到 Linux 开发环境的记录

起因

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 在 936(GBK)和 65001(UTF-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: 驱动器依赖问题

  • 包管理器缓存路径统一,便于统一重定向

  • 文件权限和符号链接机制更直接

具体迁移方案根据实际项目进度安排执行。

相关推荐
唐墨1237 小时前
linux kernel 比较数据大小的宏定义
linux·算法
程序开发阿元7 小时前
密码不进工具:一个独立开发者的服务器凭据管理办法
linux·ssh
承渊政道10 小时前
Fooocus本地AI绘图教程:Windows部署、低门槛生图与远程访问
人工智能·windows·cpolar·fooocus·生图
AR-26710-11 小时前
Linux Day33——定时任务+lvm
linux·运维
墨痕诉清风11 小时前
SSRF漏洞实战记录+OSS桶命令执行+MCP漏洞
linux·服务器·数据库
byte轻骑兵11 小时前
实战 4:BlueZ 源码中添加自定义设备过滤规则
linux·物联网·bluez·电脑蓝牙·嵌入式蓝牙
陈工大模型12 小时前
收到乱码压缩包之后,我重新测了 7-Zip、Bandizip 和win解压缩
windows·电脑·软件工程·软件需求·7-zip
瓦瓦gogo12 小时前
从一个 TypeScript 函数开始理解 MCP 协议
linux·ubuntu·typescript
谙弆悕博士13 小时前
在文件夹右键直接打开 Kali WSL:一条 `wsl --cd` 注册表脚本
windows·脚本·wsl·右击·ksli
陈工大模型13 小时前
解压工具的三个技术分水岭:编码、分卷、容器格式
人工智能·windows·安全·解压工具·免费国内办公软件