# Plan: baota-pack-nvm-node-switch

**Author:** planner  
**Created:** 2026-08-13  
**User request:** PC build Node 20.19 via nvm; admin/mobile stay on 16.20

## Goal

`deploy/baota/pack.sh` 用 nvm 切换 Node：`16.20` 编 admin/mobile，`20.19` 编 PC（pnpm），对齐 `docker-lite/pack.sh` 的 `release_nvm_use` 模式。

## Acceptance

| ID | WHEN/THEN |
|----|-----------|
| N1 | WHEN 构建 admin/mobile THEN 先 `nvm use 16.20`（可配置） |
| N2 | WHEN 构建 PC THEN 先 `nvm use 20.19` 再装/用 pnpm |
| N3 | WHEN 无 nvm THEN die 提示安装 nvm |
| N4 | README 说明双 Node + nvm |
| N5 | 契约测试断言 nvm / 16.20 / 20.19；run-all 绿 |

## Defaults

- `PACK_NODE_ADMIN_MOBILE=16.20`
- `PACK_NODE_PC=20.19`
- `PACK_PNPM_VERSION=10.13.0`
- `WEB_NODE_BIN` 仍可覆盖 PC node（可选保留）
