Windows native build fails with "spawnSync npm ENOENT" — build-coding-agent-bundle.mjs:181 missing shell: win32
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 2/5
- 見積もり時間
- 1〜3時間
- 初心者へのやさしさ
- 75/100
- issue の種類
- バグ
- 明瞭さ
- 明確に書かれている
- 活発さ
- 活発
- 技術スタック
- node.js, shell, typescript
- 領域
- build-system
調査の方向性
問題は scripts/build-coding-agent-bundle.mjs の 181 行目にあります。まず、ファイルを特定し、execFileSync 呼び出しを調べます。local-release.mjs:92 と profile-coding-agent-node.mjs:268 の同様の修正と比較します。Windows 用の shell オプションを追加するために、提案された diff を適用します。Windows システムで pnpm run build を実行するか、条件をシミュレートしてテストします。ビルドが ENOENT エラーなしで完了することを確認します。
索引モデルが issue の本文から書いたものです。
説明
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
- 主要言語
- TypeScript
- スター
- 850
- フォーク
- 62
- 平均マージ
- 1日 12時間
- マージ済み PR(30日)
- 43
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
stepfun-ai/Step-Code のほかの issue
-
area/build bug
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
stepfun-ai/Step-Code#190 · コメント 2 件 ·
メンテナーはふだん 1 日以内に返信
-
area/tools bug
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
stepfun-ai/Step-Code#186 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
area/tools bug
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
stepfun-ai/Step-Code#185 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
area/tools bug
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
stepfun-ai/Step-Code#184 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
stepfun-ai/Step-Code#179 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
stepfun-ai/Step-Code の issue をすべて見る
似ている issue
-
afk-ok area:data-quality importer size:S
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
enorm-labs/event-junkie#3301 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
one-zero-eight/apply-bot#39 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
bigbluebutton/bbb-ui-components-react#108 ·
メンテナーはふだん 2 日以内に返信
-
area: app type: bug
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
ExpidetGames/code-reviewer#308 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
メンテナーはふだん 1 日以内に返信