问题分析
在使用OpenCode时,Playwright浏览器自动化工具是必不可少的组件。然而在国内网络环境下,npx playwright install下载浏览器二进制文件速度极慢,经常卡在0%。本文将详细介绍如何通过国内镜像加速安装。
Playwright v1.58+之后,Chromium下载切换为Chrome for Testing(CFT),URL路径变为builds/cft/前缀,导致国内镜像(如npmmirror)路径不匹配,出现404错误。
解决方案:手动下载+离线安装
第一步:确认版本
运行以下命令查看需要的Chromium版本:
npx playwright install chromium --dry-run
第二步:从npmmirror下载
根据第一步得到的版本号,从国内镜像下载:
https://cdn.npmmirror.com/binaries/chrome-for-testing/148.0.7778.96/win64/chrome-win64.zip
第三步:解压到缓存目录
将下载的zip解压到Playwright的缓存目录,并创建安装完成标记:
$installDir = "$env:LOCALAPPDATA\ms-playwright\chromium-1223"
New-Item -ItemType Directory -Path "$installDir\chrome-win64" -Force
Expand-Archive -Path "D:\chrome-win64.zip" -DestinationPath "$installDir\" -Force
Set-Content -Path "$installDir\INSTALLATION_COMPLETE" -Value ""
验证
再次运行安装命令:
npx playwright install chromium
附:实际安装过程记录
1. 环境准备
- 项目目录:
D:\project\opencode - Windows + PowerShell(执行策略限制,改用
cmd /c)
2. 安装依赖
cmd /c "npm install @playwright/test"
3. 查看所需版本
cmd /c "npx playwright install chromium --dry-run"
- Chromium revision:
1223 - Chrome 版本:
148.0.7778.96 - 安装路径:
C:\Users\username\AppData\Local\ms-playwright\chromium-1223
4. 从国内镜像下载
官方 CDN 极慢,改用 npmmirror 镜像:
https://cdn.npmmirror.com/binaries/chrome-for-testing/148.0.7778.96/win64/chrome-win64.zip
约 182 MB,用 Invoke-WebRequest 下载。
5. 离线安装
$installDir = "$env:LOCALAPPDATA\ms-playwright\chromium-1223"
New-Item -ItemType Directory -Path "$installDir\chrome-win64" -Force
Expand-Archive -Path "D:\chrome-win64.zip" -DestinationPath "$installDir\" -Force
Set-Content -Path "$installDir\INSTALLATION_COMPLETE" -Value ""
**关键:**目录结构必须为:
chromium-1223\
├── chrome-win64\chrome.exe
└── INSTALLATION_COMPLETE
6. Headless Shell 同样方式安装
https://cdn.npmmirror.com/binaries/chrome-for-testing/148.0.7778.96/win64/chrome-headless-shell-win64.zip
7. 验证
cmd /c "npx playwright install chromium"
Playwright 跳过已安装的 Chromium,只下载 FFmpeg 和 Winldd,安装成功。