Windows: source build fails (spawnSync npm ENOENT); session migration silently no-ops
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 75/100
- Tipo di issue
- Bug
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- node.js, shell, typescript
- Ambito
- build-system, cli, tooling
Direzione di ricerca
L'issue indica due file specifici: scripts/build-coding-agent-bundle.mjs (riga 181) per il problema di spawn di npm, e packages/config/src/migrations.ts (riga 145) per il problema di divisione del percorso. Inizia esaminando queste righe per comprendere la logica attuale. Per il primo, testa come si comporta execFileSync di Node con 'npm' su Windows. Per il secondo, controlla il test 'relocates stray session files' in packages/config/migrations.test.ts per vedere l'errore. La correzione implica l'uso di una shell per il comando npm e l'uso di path.basename per l'estrazione del nome file cross-platform.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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。
- Lingua principale
- TypeScript
- Stelle
- 54
- Fork
- 20
- Merge medio
- 23m
- PR unite (30g)
- 7
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di stepfun-ai/Step-Code
-
untriaged
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
stepfun-ai/Step-Code#153 · 2 commenti ·
-
untriaged
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
stepfun-ai/Step-Code#149 · 1 commento ·
-
untriaged
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
stepfun-ai/Step-Code#148 · 1 commento ·
-
untriaged
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100
stepfun-ai/Step-Code#144 · 1 commento ·
-
untriaged
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
stepfun-ai/Step-Code#141 · 1 commento ·
Tutte le issue di stepfun-ai/Step-Code
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
vercel-labs/just-bash#464 ·
-
looksLikeSlug() is ASCII-only, so non-Latin entity slugs (e.g. Korean) skip exact match and collapse Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100
TanStack/tanstack.com#1293 ·