ci: Windows job 再加 LOCALAPPDATA/APPDATA 重定向(pnpm 的 store 锁挂在这里)
构建客户端 / 检查(类型 + 单元测试) (push) Successful in 1m7s
构建客户端 / macOS 通用(.app + .dmg) (push) Skipped
构建客户端 / Windows x64(NSIS 安装包) (push) Failing after 22s
构建客户端 / Linux x64(deb + AppImage) (push) Successful in 5m54s

run 7 的 Windows job 已经过了 rustup / pnpm / node 三步 —— 低完整性那套重定向起效了
(诊断输出确认:RUSTUP_HOME / CARGO_HOME / RUNNER_TOOL_CACHE / npm_config_* 都指到了
runner 自己的工作目录)。新的失败在"前端依赖":

    pnpm install --frozen-lockfile
    ... pnpm-store-operation-locks\all-stores.lock": 拒绝访问。(os error 5)

pnpm 12 的 store 操作锁与 cache/state 不在 store-dir 下面,而是挂在 %LOCALAPPDATA%
(本机实测:把 LOCALAPPDATA 指到别的目录后,pnpm 会在那里建 pnpm-cache / pnpm-state,
install 正常退出)。所以 job env 里再加两条:

    LOCALAPPDATA: C:\Users\admin\runner\windows\cache\ci-localappdata
    APPDATA:      C:\Users\admin\runner\windows\cache\ci-appdata

顺带覆盖到 tauri 打包时下载 NSIS 的缓存目录(它也在 LOCALAPPDATA 下)。
This commit is contained in:
2026-10-15 22:52:46 +08:00
parent ac3d639d6b
commit b74c6654e5
+6
View File
@@ -356,6 +356,12 @@ jobs:
# 那几处在 job 内的写探测里实测可写。换一台 Windows runner 时改这几行。
RUSTUP_HOME: C:\Users\admin\runner\windows\cache\ci-rustup
CARGO_HOME: C:\Users\admin\runner\windows\cache\ci-cargo
# LOCALAPPDATA/APPDATA 也得改:pnpm 12 的 store 锁与 cache/state 都挂在
# %LOCALAPPDATA% 下(报错原文:pnpm-store-operation-locks\all-stores.lock:
# 拒绝访问),tauri 打包时下载的 NSIS 也放这儿。本机实测:把 LOCALAPPDATA
# 指到可写目录后,pnpm 会在那里建 pnpm-cache / pnpm-state,install 正常。
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