跳到主要内容

Store 与缓存目录

pbvm 使用符合系统标准的目录结构存储浏览器二进制文件、用户数据和配置。

目录结构

{pbvm 数据根目录}
├── cache/ ← 浏览器二进制文件(可删除、可重新下载)
├── data/ ← 用户 profile、运行数据(不能随意删除)
│ └── profiles/
│ ├── chrome/
│ │ └── 134.0.6998.35/
│ ├── chromium/
│ │ └── 1435764/
│ └── firefox/
│ └── stable_136.0.0/
├── config/ ← 用户配置文件
├── log/ ← 日志
└── temp/ ← 临时文件(如 `pbvm info -r` 的临时 profile)

各目录说明

目录用途可否删除
cache浏览器二进制文件(通过 @puppeteer/browsers 下载)✅ 系统清理工具可清空
data/profiles浏览器用户数据:cookies、偏好设置、历史记录等
config用户自定义配置(代理、镜像源等)⚠️ 视内容而定
log运行时日志
temp临时检测数据(info -r 的 headless 启动)

实际路径

因操作系统而异,由 env-paths 解析:

平台路径
macOS~/Library/Caches/pbvm/~/Library/Application Support/pbvm/
Linux~/.cache/pbvm/~/.local/share/pbvm/
Windows%LOCALAPPDATA%/pbvm/

Store 与 browserlist 的关系

┌──────────────────────────────────────────────────┐
│ 全局 Store │
│ chrome/mac_arm-134.0.6998.35/ │
│ chromium/mac_arm-1435764/ │
│ firefox/mac_arm-stable_136.0.0/ │
└──────────────┬───────────────────────────────────┘
│ 按需引用

┌──────────────────────────────────────────────────┐
│ 项目 A/browserlist.json │
│ [{ chrome@134.0.6998.35, alias: "prod" }] │
└──────────────────────────────────────────────────┘
┌──────────────────────────────────────────────────┐
│ 项目 B/browserlist.json │
│ [{ chrome@134.0.6998.35, alias: "test" }] │
│ [{ firefox@stable_136.0.0 }] │
└──────────────────────────────────────────────────┘

同一个二进制文件可被多个项目引用,每个项目的 profile 数据独立。

数据存储 & 文件结构

100%
100%

文件锁机制

100%
100%