diff --git a/scripts/install.ps1 b/scripts/install.ps1 index 1f6c12593038..9fc2fa6fb33e 100644 --- a/scripts/install.ps1 +++ b/scripts/install.ps1 @@ -1538,7 +1538,8 @@ function Install-OpenClawFromGit { Write-Host "[!] pnpm install failed for the Git checkout" -ForegroundColor Red return $false } - if (-not (& $pnpmCommand ui:build)) { + & $pnpmCommand ui:build + if ($LASTEXITCODE -ne 0) { Write-Host "[!] UI build failed; continuing (CLI may still work)" -ForegroundColor Yellow } $env:NODE_OPTIONS = Resolve-NodeOptionsWithMinOldSpace -NodeOptions $prevNodeOptions -MinOldSpaceMb 8192 diff --git a/test/scripts/install-ps1.test.ts b/test/scripts/install-ps1.test.ts index 45584ac8bab1..302471ebc030 100644 --- a/test/scripts/install-ps1.test.ts +++ b/test/scripts/install-ps1.test.ts @@ -935,6 +935,8 @@ describe("install.ps1 failure handling", () => { expect(gitInstallBody).toContain( "$env:NODE_OPTIONS = Resolve-NodeOptionsWithMinOldSpace -NodeOptions $prevNodeOptions -MinOldSpaceMb 8192", ); + expect(gitInstallBody).toMatch(/& \$pnpmCommand ui:build\s+if \(\$LASTEXITCODE -ne 0\)/); + expect(gitInstallBody).not.toContain("if (-not (& $pnpmCommand ui:build))"); expect(nodeOptionsBody).toContain("--max-old-space-size=$MinOldSpaceMb"); expect(nodeOptionsBody).toContain("[Math]::Max"); expect(gitInstallBody).toContain("& $pnpmCommand build");