@@ -901,22 +901,16 @@ function Ensure-Pnpm {
901901 }
902902 }
903903 Write-Host " [*] Installing pnpm..." - ForegroundColor Yellow
904- $prevScriptShell = $env: NPM_CONFIG_SCRIPT_SHELL
905- $env: NPM_CONFIG_SCRIPT_SHELL = " cmd.exe"
904+ $pnpmInstalled = $false
906905 try {
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 }
921915 if (-not (Test-PnpmCommandMatchesVersion - PnpmVersion $pnpmVersion - RepoDir $RepoDir )) {
922916 throw " 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"
12091201 Remove-Item Env:NPM_CONFIG_BEFORE - ErrorAction SilentlyContinue
12101202 Remove-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 {
12721263
12731264 Remove-LegacySubmodule - RepoDir $RepoDir
12741265
1275- $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 {
12841274 if (-not $pnpmCommand ) {
12851275 throw " 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 {
13321321 if ($pushedRepoLocation ) {
13331322 Pop-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
0 commit comments