Built on @puppeteer/browsers. Install, switch, and manage multiple browser versions with a single command. Designed for development and testing.
npm install -g pbvm-cliff-t → revision: firefox@stable_130.0.1 mac-121231 → revision: chromium@121231
linux-chromedriver-v130 → revision: chrome@130.0.6723.116
win32-firefox-dev → revision: firefox@130.0
win-chrome-beta → revision: chrome@131.0.6757.5 windows稳定版 → revision: chrome@130.0.6723.116
vite:
// vite.config.ts
import { defineConfig } from 'vite'
import { openBrowser } from 'pbvm-cli'
export default defineConfig({
plugins: [
{
name: 'pbvm-open',
configureServer(server) {
server.httpServer?.once('listening', () => {
const { port, host } = server.config.server
const isHttps = server.config.server.https !== false
const protocol = isHttps ? 'https' : 'http'
const url = `${protocol}://${host || 'localhost'}:${port}`
openBrowser({ target: 'my-chrome', url })
})
},
},
],
})
webpack:
import { openBrowser } from 'pbvm-cli'
devServer: {
onAfterSetupMiddleware(devServer) {
const { host, port, server } = devServer.options
const isHttps = typeof server === 'string'
? server === 'https'
: server?.type === 'https'
const protocol = isHttps ? 'https' : 'http'
const url = `${protocol}://${host || 'localhost'}:${port}`
openBrowser({ target: 'my-chrome', url })
}
}
packages (optional):
// package.json
{
"scripts": {
"dev:browser": "npm run dev && pbvm open -t my-chrome -u http://localhost:3000"
}
}
Installation
# npm
npm install -g pbvm-cli
# pnpm
pnpm add -g pbvm-cli
Common Commands
# 安装 Chrome 并设置别名
pbvm create -b chrome -i 134.0.6998.35 -a prod
# 查看已安装的浏览器
pbvm ls
# 以别名打开浏览器
pbvm open -t prod
# 查看浏览器详细信息(含运行时)
pbvm info -t prod -r
# 查询远程是否有可用版本
pbvm search -b firefox -i stable_136.0.0
██████╗ ██████╗ ██╗ ██╗███╗ ███╗ ██╔══██╗██╔══██╗██║ ██║████╗ ████║ ██████╔╝██████╔╝██║ ██║██╔████╔██║ ██╔═══╝ ██╔══██╗╚██╗ ██╔╝██║╚██╔╝██║ ██║ ██████╔╝ ╚████╔╝ ██║ ╚═╝ ██║ ╚═╝ ╚═════╝ ╚═══╝ ╚═╝ ╚═╝