You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel Dusk无法运行:更新后所有测试报错求助

解决Laravel Dusk测试中ChromeDriver版本不兼容问题

你遇到的核心问题是ChromeDriver与Chrome浏览器版本不匹配:错误提示里的ChromeDriver 2.33要求Chrome版本≥60.0.3112.0,但你的Vagrant虚拟机里要么没装Chrome,要么版本低于要求。结合你的环境(macOS本地+Ubuntu Vagrant虚拟机),下面是具体解决方案:

第一步:在Vagrant虚拟机中安装/更新Chrome浏览器

Dusk依赖Chrome或Chromium运行,所有测试都在虚拟机里执行,先确保虚拟机里有符合版本要求的Chrome:

  1. 登录到你的Vagrant虚拟机:
    vagrant ssh
    
  2. 添加Google Chrome的软件源(针对Ubuntu系统):
    wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
    echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" | sudo tee /etc/apt/sources.list.d/google-chrome.list
    
  3. 更新软件包并安装稳定版Chrome:
    sudo apt-get update
    sudo apt-get install google-chrome-stable
    
  4. 验证Chrome版本(确保版本≥60):
    google-chrome --version
    

第二步:更新Laravel Dusk的ChromeDriver

Laravel Dusk提供了一键安装对应版本ChromeDriver的命令,不用手动下载:

  1. 切换到你的项目根目录(虚拟机里的项目路径):
    cd /path/to/your/laravel/project
    
  2. 运行Dusk的ChromeDriver安装命令,它会自动检测当前Chrome版本并下载匹配的驱动:
    php artisan dusk:chrome-driver
    
    如果自动检测失败,可手动指定Chrome版本号(比如你查到的版本是114,就运行):
    php artisan dusk:chrome-driver 114
    
  3. 确保ChromeDriver有执行权限:
    chmod +x ./vendor/laravel/dusk/bin/chromedriver-linux
    

第三步:配置Dusk使用正确的Chrome路径(可选)

如果运行测试时仍找不到Chrome,可修改Dusk配置文件指定Chrome二进制路径:

打开项目根目录下的config/dusk.php文件,找到chrome配置项,修改binary为虚拟机里Chrome的实际路径:

'chrome' => [
    'binary' => '/usr/bin/google-chrome-stable',
    'options' => [
        '--disable-gpu',
        '--headless',
        '--no-sandbox', // 虚拟机环境下建议添加,避免权限限制
    ],
],

第四步:测试Dusk是否正常运行

最后运行Dusk测试验证问题是否解决:

php artisan dusk

内容的提问来源于stack exchange,提问作者Oleg Kruglov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 04:37:52