Windows native build fails with "spawnSync npm ENOENT" — build-coding-agent-bundle.mjs:181 missing shell: win32
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 2/5
- Temps estimé
- 1-3 heures
- Accessibilité débutants
- 75/100
- Type d'issue
- Bug
- Clarté
- Clairement spécifiée
- Activité
- Active
- Stack technique
- node.js, shell, typescript
- Domaine
- build-system
Piste de recherche
Le problème se trouve dans scripts/build-coding-agent-bundle.mjs à la ligne 181. Tout d'abord, localiser le fichier et examiner l'appel execFileSync. Le comparer avec des correctifs similaires dans local-release.mjs:92 et profile-coding-agent-node.mjs:268. Appliquer le diff suggéré pour ajouter l'option shell pour Windows. Tester en exécutant pnpm run build sur un système Windows ou en simulant la condition. Vérifier que la compilation se termine sans l'erreur ENOENT.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
What happened?
Windows 原生(非 WSL)从源码跑 pnpm run build,死在 scripts/build-coding-agent-bundle.mjs:181:
Error: spawnSync npm ENOENT
根因:那行 execFileSync("npm", …) 没带 shell。Windows 上 npm 是 npm.cmd / npm.ps1(没有 npm.exe),非 shell 的 spawn 走 CreateProcess 找不到 .exe,直接 ENOENT;Linux/macOS/WSL 不受影响。
另外,你们已经在 local-release.mjs:92、profile-coding-agent-node.mjs:268、以及 #113(Windows step wrapper)里处理过 Windows 的 .cmd / shell 适配,这个 build 入口只是漏了同一处 shell: process.platform === "win32"。一行补丁:
- execFileSync("npm", ["--prefix", appEntryDir, "run", "build"], { stdio: "inherit", cwd: repoRoot });
+ execFileSync("npm", ["--prefix", appEntryDir, "run", "build"], { stdio: "inherit", cwd: repoRoot, shell: process.platform === "win32" });
### Steps to reproduce
(Windows 11 26200 / Node 24.15.0 / pnpm 9.10.0 / 原生 PowerShell,非 WSL)
git clone https://github.com/stepfun-ai/Step-Code.git && cd Step-Code
pnpm install --ignore-scripts
pnpm run build
# -> Error: spawnSync npm ENOENT (scripts/build-coding-agent-bundle.mjs:181)
### Expected behavior
给 scripts/build-coding-agent-bundle.mjs:181 补上 shell: process.platform === "win32" 后,Windows 原生 pnpm run build 应能编过
### Version
0.1.0
- Langage dominant
- TypeScript
- Étoiles
- 1k
- Forks
- 68
- Merge moyen
- 23 h 51 min
- PR mergées (30 j)
- 65
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Propose un modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de stepfun-ai/Step-Code
-
area/build bug
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
stepfun-ai/Step-Code#190 · 2 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
area/tools bug
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
stepfun-ai/Step-Code#184 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
stepfun-ai/Step-Code#179 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
install.sh fails when awk is not installedPeut-être pris Une pull request liée à cette issue est ouverte ou déjà fusionnée. Ouverteuntriaged
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
stepfun-ai/Step-Code#149 · 2 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
Fix documentation typos and broken linksPeut-être pris Une pull request liée à cette issue est ouverte ou déjà fusionnée. Ouverteuntriaged
Difficulté 1/5 Moins d'une heure Accessibilité débutants 90/100
stepfun-ai/Step-Code#144 · 2 commentaires ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de stepfun-ai/Step-Code
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
JuliusBrussee/caveman#1449 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 78/100
linagora/twake-calendar-frontend#1924 ·
Les mainteneurs répondent en général sous 1 jour
-
Add: Class TV ModaOuvertecheck:passed streams:add
Difficulté 1/5 Moins d'une heure Accessibilité débutants 65/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
libnativeapi/nativeapi#21 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 62/100
GiganticMinecraft/seichi-playguide#183 ·
Les mainteneurs répondent en général sous 1 jour