Windows: source build fails (spawnSync npm ENOENT); session migration silently no-ops
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 75/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- node.js, shell, typescript
- Área
- build-system, cli, tooling
Línea de trabajo
El issue señala dos archivos específicos: scripts/build-coding-agent-bundle.mjs (línea 181) para el problema de spawn de npm, y packages/config/src/migrations.ts (línea 145) para el problema de división de rutas. Comience examinando estas líneas para comprender la lógica actual. Para el primero, pruebe cómo se comporta execFileSync de Node con 'npm' en Windows. Para el segundo, revise la prueba 'relocates stray session files' en packages/config/migrations.test.ts para ver el fallo. La solución implica usar un shell para el comando npm y usar path.basename para la extracción de nombres de archivo multiplataforma.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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。
- Lenguaje dominante
- TypeScript
- Estrellas
- 54
- Forks
- 20
- Merge medio
- 23 min
- PR fusionados (30 d)
- 7
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de stepfun-ai/Step-Code
-
untriaged
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
stepfun-ai/Step-Code#153 · 2 comentarios ·
-
untriaged
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
stepfun-ai/Step-Code#149 · 1 comentario ·
-
untriaged
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
stepfun-ai/Step-Code#148 · 1 comentario ·
-
untriaged
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100
stepfun-ai/Step-Code#144 · 1 comentario ·
-
untriaged
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
stepfun-ai/Step-Code#141 · 1 comentario ·
Todos los issues de stepfun-ai/Step-Code
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
vercel-labs/just-bash#464 ·
-
looksLikeSlug() is ASCII-only, so non-Latin entity slugs (e.g. Korean) skip exact match and collapse Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100
TanStack/tanstack.com#1293 ·