
























@@ -901,22 +901,16 @@ function Ensure-Pnpm {
901901 }
902902 }
903903Write-Host "[*] Installing pnpm..." -ForegroundColor Yellow
904-$prevScriptShell = $env:NPM_CONFIG_SCRIPT_SHELL
905-$env:NPM_CONFIG_SCRIPT_SHELL = "cmd.exe"
904+$pnpmInstalled = $false
906905try {
906+Invoke-NpmCommand -Arguments @("install", "-g", $pnpmSpec)
907+$pnpmInstalled = ($LASTEXITCODE -eq 0)
908+ } catch {
907909$pnpmInstalled = $false
908-try {
909-Invoke-NpmCommand -Arguments @("install", "-g", $pnpmSpec)
910-$pnpmInstalled = ($LASTEXITCODE -eq 0)
911- } catch {
912-$pnpmInstalled = $false
913- }
914-if (-not $pnpmInstalled) {
915-Write-Host "[!] pnpm install hit an existing or broken shim; retrying with --force" -ForegroundColor Yellow
916-Invoke-NpmCommand -Arguments @("install", "-g", "--force", $pnpmSpec)
917- }
918- } finally {
919-$env:NPM_CONFIG_SCRIPT_SHELL = $prevScriptShell
910+ }
911+if (-not $pnpmInstalled) {
912+Write-Host "[!] pnpm install hit an existing or broken shim; retrying with --force" -ForegroundColor Yellow
913+Invoke-NpmCommand -Arguments @("install", "-g", "--force", $pnpmSpec)
920914 }
921915if (-not (Test-PnpmCommandMatchesVersion -PnpmVersion $pnpmVersion -RepoDir $RepoDir)) {
922916throw "pnpm install completed, but $pnpmSpec is not first on PATH."
@@ -1196,15 +1190,13 @@ function Install-OpenClaw {
11961190$prevUpdateNotifier = $env:NPM_CONFIG_UPDATE_NOTIFIER
11971191$prevFund = $env:NPM_CONFIG_FUND
11981192$prevAudit = $env:NPM_CONFIG_AUDIT
1199-$prevScriptShell = $env:NPM_CONFIG_SCRIPT_SHELL
12001193$prevNodeLlamaSkipDownload = $env:NODE_LLAMA_CPP_SKIP_DOWNLOAD
12011194$prevBefore = $env:NPM_CONFIG_BEFORE
12021195$prevMinReleaseAge = $env:NPM_CONFIG_MIN_RELEASE_AGE
12031196$env:NPM_CONFIG_LOGLEVEL = "error"
12041197$env:NPM_CONFIG_UPDATE_NOTIFIER = "false"
12051198$env:NPM_CONFIG_FUND = "false"
12061199$env:NPM_CONFIG_AUDIT = "false"
1207-$env:NPM_CONFIG_SCRIPT_SHELL = "cmd.exe"
12081200$env:NODE_LLAMA_CPP_SKIP_DOWNLOAD = "1"
12091201Remove-Item Env:NPM_CONFIG_BEFORE -ErrorAction SilentlyContinue
12101202Remove-Item Env:NPM_CONFIG_MIN_RELEASE_AGE -ErrorAction SilentlyContinue
@@ -1228,7 +1220,6 @@ function Install-OpenClaw {
12281220$env:NPM_CONFIG_UPDATE_NOTIFIER = $prevUpdateNotifier
12291221$env:NPM_CONFIG_FUND = $prevFund
12301222$env:NPM_CONFIG_AUDIT = $prevAudit
1231-$env:NPM_CONFIG_SCRIPT_SHELL = $prevScriptShell
12321223$env:NODE_LLAMA_CPP_SKIP_DOWNLOAD = $prevNodeLlamaSkipDownload
12331224$env:NPM_CONFIG_BEFORE = $prevBefore
12341225$env:NPM_CONFIG_MIN_RELEASE_AGE = $prevMinReleaseAge
@@ -1272,7 +1263,6 @@ function Install-OpenClawFromGit {
1272126312731264Remove-LegacySubmodule -RepoDir $RepoDir
127412651275-$prevPnpmScriptShell = $env:NPM_CONFIG_SCRIPT_SHELL
12761266$prevPnpmChildConcurrency = $env:PNPM_CONFIG_CHILD_CONCURRENCY
12771267$prevPnpmNetworkConcurrency = $env:PNPM_CONFIG_NETWORK_CONCURRENCY
12781268$prevPnpmWorkspaceConcurrency = $env:PNPM_CONFIG_WORKSPACE_CONCURRENCY
@@ -1284,7 +1274,6 @@ function Install-OpenClawFromGit {
12841274if (-not $pnpmCommand) {
12851275throw "pnpm not found after installation."
12861276 }
1287-$env:NPM_CONFIG_SCRIPT_SHELL = "cmd.exe"
12881277$env:PNPM_CONFIG_CHILD_CONCURRENCY = "1"
12891278$env:PNPM_CONFIG_NETWORK_CONCURRENCY = "4"
12901279$env:PNPM_CONFIG_WORKSPACE_CONCURRENCY = "1"
@@ -1332,7 +1321,6 @@ function Install-OpenClawFromGit {
13321321if ($pushedRepoLocation) {
13331322Pop-Location
13341323 }
1335-$env:NPM_CONFIG_SCRIPT_SHELL = $prevPnpmScriptShell
13361324$env:PNPM_CONFIG_CHILD_CONCURRENCY = $prevPnpmChildConcurrency
13371325$env:PNPM_CONFIG_NETWORK_CONCURRENCY = $prevPnpmNetworkConcurrency
13381326$env:PNPM_CONFIG_WORKSPACE_CONCURRENCY = $prevPnpmWorkspaceConcurrency
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。