在WSL的Ubuntu环境运行Cypress出现连接超时等报错如何解决?
解决方案
1. 安装Cypress运行所需的系统依赖
WSL版Ubuntu默认缺失GUI程序运行的基础依赖,先执行以下命令批量安装:
sudo apt update && sudo apt install -y dbus-x11 libgtk2.0-0 libgtk-3-0 libgbm-dev libnotify-dev libgconf-2-4 libnss3 libxss1 libasound2 libxtst6 xauth xvfb
2. 修复dbus连接报错
- 启动dbus服务:
sudo service dbus start - 配置dbus环境变量,可执行以下命令临时生效:
export DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$UID/bus
如果需要永久生效,把上述命令写入~/.bashrc(zsh用户写入~/.zshrc)后执行source ~/.bashrc即可。
3. 无头模式运行Cypress
WSL默认没有图形输出环境,直接运行Cypress会出现浏览器启动超时问题,添加--headless参数使用无界面模式运行即可:
cypress run --headless
如果仍有GPU相关报错,可以追加参数禁用GPU加速:
ELECTRON_DISABLE_GPU=1 cypress run --headless
额外注意事项
- 先确认你的前端服务已经在3000端口正常启动,可执行
curl http://localhost:3000验证连通性,避免服务未启动导致的页面加载失败 - 如果你使用的是WSL1,建议升级到WSL2,WSL1存在端口映射问题,可能会导致本地服务访问异常
内容的提问来源于stack exchange,提问作者Bernardo Marques
相关产品推荐
相关产品推荐

