Windows: source build fails (spawnSync npm ENOENT); session migration silently no-ops
还没有人认领这个 Issue。
评估
- 难度
- 2/5
- 预计耗时
- 1-3 小时
- 新手友好度
- 75/100
- Issue 类型
- 缺陷
- 描述清晰度
- 描述清楚
- 活跃度
- 活跃
- 技术栈
- node.js, shell, typescript
- 领域
- build-system, cli, tooling
调研方向
该 issue 指向两个特定文件:scripts/build-coding-agent-bundle.mjs(第 181 行)用于 npm spawn 问题,以及 packages/config/src/migrations.ts(第 145 行)用于路径分割问题。首先检查这些行以理解当前逻辑。对于第一个问题,测试 Node 的 execFileSync 在 Windows 上使用 'npm' 时的行为。对于第二个问题,检查 packages/config/migrations.test.ts 中的测试 'relocates stray session files' 以查看失败情况。修复涉及为 npm 命令使用 shell,并使用 path.basename 进行跨平台文件名提取。
由索引模型根据 Issue 内容生成。
描述
What happened?
作为之前 CLI 的贡献者之一,我发现 Step Code 对 Windows 的兼容性大大提升,已经可以正常使用了,但在本地从源码跑整个项目的时候也踩到两个问题:
pnpm run build在 coding-agent 打包这一步挂掉。scripts/build-coding-agent-bundle.mjs:181直接execFileSync("npm", ...),Windows 上 npm 是 .cmd 批处理,Node 不带 shell 直接 spawn 会 ENOENT。migrateSessionsFromAgentRoot在 Windows 上静默失效。packages/config/src/migrations.ts:145用file.split("/").pop()取文件名,Windows 反斜杠路径下拿到的是整条路径,拼出来的目标路径里嵌了盘符,renameSync在 try/catch 里抛错被吞掉,残留的*.jsonl就一直留在 agent 根目录。
补一句:问题 1 昨天的 #137 已经报过、定位一致;问题 2 是我修完问题 1 之后继续跑测试撞到的,那边没提。
环境:Windows 10 原生(非 WSL),Node 24,pnpm 9.15.9,main @ cb5fc14。
Steps to reproduce
Windows 原生环境执行 pnpm install --ignore-scripts && pnpm run build。绕过第 1 个问题后,跑 packages/config 的测试能复现第 2 个:migrations.test.ts > relocates stray session files 失败。
Expected behavior
源码构建和 session 迁移在 Windows 原生环境都能正常工作。
Version
0.1.0 (main cb5fc14)
两个问题我本地都已经修好(构建脚本加 shell、取文件名改用 basename),需要的话我可以直接提 PR。
- 主要语言
- TypeScript
- 星标
- 54
- 派生
- 20
- 平均合并
- 4 小时 1 分钟
- 30 天内合并 PR
- 12
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
stepfun-ai/Step-Code 的其他 Issue
-
难度 2/5 1-3 小时 新手友好度 75/100
stepfun-ai/Step-Code#190 ·
-
难度 2/5 1-3 小时 新手友好度 75/100
stepfun-ai/Step-Code#186 ·
-
难度 2/5 1-3 小时 新手友好度 75/100
stepfun-ai/Step-Code#185 ·
-
难度 2/5 1-3 小时 新手友好度 75/100
stepfun-ai/Step-Code#184 ·
-
bug
难度 2/5 1-3 小时 新手友好度 75/100
stepfun-ai/Step-Code#179 · 1 条评论 ·
查看 stepfun-ai/Step-Code 的全部 Issue
相似的 Issue
-
bug(cli): hapi doctor inline-media prints a fabricated B:\ helper-script path in packaged installs 未关闭
难度 2/5 1-3 小时 新手友好度 70/100
-
Crush 未关闭
难度 1/5 1 小时以内 新手友好度 85/100
catppuccin/catppuccin#3125 ·
-
难度 1/5 1 小时以内 新手友好度 90/100
ElementsProject/cln-application#167 · 1 条评论 · 1 个 reaction ·
-
难度 2/5 1-3 小时 新手友好度 75/100
Quantco/pnpm-licenses#17 ·
-
难度 2/5 1-3 小时 新手友好度 75/100