diff --git a/.github/workflows/build-client.yml b/.github/workflows/build-client.yml index 3f454a2..7cdf8a6 100644 --- a/.github/workflows/build-client.yml +++ b/.github/workflows/build-client.yml @@ -369,7 +369,6 @@ jobs: LOCALAPPDATA: C:\Users\admin\runner\windows\cache\ci-localappdata APPDATA: C:\Users\admin\runner\windows\cache\ci-appdata npm_config_cache: C:\Users\admin\runner\windows\cache\ci-npm - npm_config_store_dir: C:\Users\admin\runner\windows\cache\ci-pnpm-store RUNNER_TOOL_CACHE: C:\Users\admin\runner\windows\cache\ci-toolcache steps: - uses: actions/checkout@v4 @@ -441,6 +440,12 @@ jobs: - name: 装 pnpm(npm 装 JS 版,绕开 standalone 二进制) shell: pwsh run: | + # 前面几次尝试在 node 目录里留下过 pnpm/pnpx 的影子文件,npm 会以 + # EEXIST 拒绝覆盖,先清掉(node 目录在 RUNNER_TOOL_CACHE 下,可写)。 + $nodeDir = Split-Path (Get-Command node).Source + foreach ($n in 'pnpm', 'pnpx', 'pnpm.cmd', 'pnpx.cmd', 'pnpm.ps1', 'pnpx.ps1') { + Remove-Item (Join-Path $nodeDir $n) -Force -ErrorAction SilentlyContinue + } npm install -g pnpm@12.8.1 if ($LASTEXITCODE -ne 0) { throw "npm 装 pnpm 失败(exit $LASTEXITCODE)" } "pnpm = $((Get-Command pnpm).Source)"