Codex Worktree 里测试全红?从路径、依赖到端口,定位环境差异
[!NOTE]
同一份代码在主目录能运行,到了 Codex Worktree 却报模块缺失、配置找不到或端口占用?本文用虚构 Python 服务演示环境指纹、显式配置路径和本地健康检查,区分环境差异与代码缺陷。
事实核验日期:2026-10-08。服务、路径和端口为教学示例,不连接真实数据库,不读取真实凭据。
一、代码隔离了,环境未必一致
Worktree 为不同任务提供不同检出目录。但一个可运行的应用,还依赖解释器、开发依赖、未跟踪配置和启动参数,这些东西并不都在 Git 提交中。
官方文档说明 Codex Worktree 依赖 Git 仓库,并介绍本地环境设置与忽略文件复制机制。Worktree 官方文档。下文是作者设计的排查流程;手工 Git Worktree 与应用管理的 Worktree,也不要混为相同的生命周期。
典型现象是主目录的虚拟环境已有依赖,新检出目录却只有源码。代理一运行测试,立即导入失败。如果当成代码缺陷,开始改导入路径、删依赖或替换实现,就可能破坏原本正确的代码。
先问:失败发生在测试开始前,还是断言执行后?找不到包属于环境层;某个输入计算错误,才进入行为层。两者可以同时存在,但需要按证据逐层判断。