ci: Windows job 给 pnpm install 明确指定 store 与导入方式
构建客户端 / 检查(类型 + 单元测试) (push) Canceled after 6s
构建客户端 / Linux x64(deb + AppImage) (push) Canceled after 0s
构建客户端 / Windows x64(NSIS 安装包) (push) Canceled after 0s
构建客户端 / macOS 通用(.app + .dmg) (push) Canceled after 0s

run 10 已经过了 store 操作锁那一关(pnpm 开始下载包了),但接着崩了:

    Downloading @tauri-apps/cli-win32-x64-msvc@2.12.2: 0.00 B/7.98 MB
    Content-addressable store is at:
      C:\Users\admin\runner\windows\cache\ci-pnpm\node_modules\.bin\store\v11
    thread '<unknown>' (6500) has overflowed its stack
    ##[error]Process completed with exit code 1.

两个可疑点:一是 pnpm 自己算出来的 store 路径很怪(挂在 pnpm 安装目录的
node_modules\.bin 下面,而且我在 env 里设的 npm_config_store_dir 它压根没用);
二是硬链接导入。所以这一步直接给 CLI 参数:显式短路径 store、copy 导入(不走硬链接)、
append-only 输出(默认 reporter 在 CI 日志里全是重画)。
This commit is contained in:
2026-10-15 23:15:20 +08:00
parent f0538fa233
commit 1cccc1aa00
+4 -1
View File
@@ -490,7 +490,10 @@ jobs:
- name: 前端依赖(严格按 lock 装) - name: 前端依赖(严格按 lock 装)
working-directory: desktop working-directory: desktop
run: pnpm install --frozen-lockfile # 这台 runner 上 pnpm 自己算出来的 store 路径很怪(<dest>\node_modules\.bin\
# store\v11),而且 --store-dir 的 env 写法它不认;这里直接给 CLI 参数:
# 显式短路径的 store + copy 导入(不用硬链接),并把输出改成适合日志的形式。
run: pnpm install --frozen-lockfile --store-dir C:\Users\admin\runner\windows\cache\ps --package-import-method=copy --reporter=append-only
# nsis 是纯安装包,不需要 WiX;tauri 会自己把 NSIS 下到用户缓存里(这个缓存 # nsis 是纯安装包,不需要 WiX;tauri 会自己把 NSIS 下到用户缓存里(这个缓存
# 也跟着 LOCALAPPDATA 走,见上面 job env),所以这台 runner 要能访问 GitHub # 也跟着 LOCALAPPDATA 走,见上面 job env),所以这台 runner 要能访问 GitHub