Playwright执行install后无法找到浏览器的问题求助
解决Playwright在Github Actions中浏览器路径不匹配的问题
核心原因
你遇到的问题本质是Playwright依赖版本与安装的浏览器版本不兼容,加上Github Actions中root用户安装导致的权限问题,双重因素导致路径匹配失败。
具体解决步骤
1. 统一Playwright版本,避免全局/本地版本不一致
不同版本的Playwright对应固定版本的浏览器(比如chromium-1134对应某一版Playwright,1161对应另一版),如果执行pnpm exec playwright install时用的是全局版本,而项目依赖的是另一个版本,就会出现路径不匹配。
解决方法:
- 在项目的
package.json中添加专属脚本,确保使用项目本地安装的Playwright执行安装:{ "scripts": { "install-playwright": "playwright install --with-deps" } } - 在Github Actions中执行
pnpm run install-playwright,而不是直接用pnpm exec playwright install。
2. 修复root安装后的目录权限问题
日志显示安装时切换到root,会导致/home/runner/.cache/ms-playwright/目录的所有者是root,而Playwright运行时用的是runner用户,无法访问该目录下的浏览器文件。
在安装命令后添加权限修复步骤:
pnpm run install-playwright sudo chown -R runner:runner /home/runner/.cache/ms-playwright/
3. 直接使用官方Playwright Github Action(最省心方案)
官方提供的microsoft/playwright-github-action已经预配置好了版本匹配、依赖安装和权限处理,完全避免手动操作的坑。
示例Actions配置:
jobs: test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: pnpm/action-setup@v2 with: version: 8 - uses: microsoft/playwright-github-action@v1 with: install-deps: true - run: pnpm install - run: pnpm test
4. 验证版本一致性
可以在Actions中添加步骤,确认Playwright版本和已安装的浏览器版本匹配:
pnpm exec playwright --version pnpm exec playwright list
内容的提问来源于stack exchange,提问作者Daniel
相关产品推荐
相关产品推荐

