ci: npm 装 pnpm 前先清掉残留影子文件(EEXIST),并去掉 npm 不认的 store-dir
This commit is contained in:
@@ -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)"
|
||||
|
||||
Reference in New Issue
Block a user