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

在DigitalOcean上使用Selenium WebDriver运行Meteor应用遇Chrome二进制文件缺失问题

解决Mup部署Meteor应用在DigitalOcean上Selenium找不到Chrome二进制文件的问题

排查与解决步骤

  • 确认Chrome实际安装路径
    在服务器终端执行以下命令,找到Chrome的准确位置:

    which google-chrome
    # 若上述命令无结果,尝试
    which chrome
    

    常见路径为 /usr/bin/google-chrome 或 /usr/local/bin/google-chrome,记录该路径。

  • 在Selenium配置中指定二进制路径
    在Meteor应用初始化WebDriver的代码里,手动指定Chrome二进制文件路径,示例代码:

    const { Builder } = require('selenium-webdriver');
    const chrome = require('selenium-webdriver/chrome');
    
    const chromeOptions = new chrome.Options();
    // 替换为你查到的实际路径
    chromeOptions.setChromeBinaryPath('/usr/bin/google-chrome');
    
    const driver = new Builder()
      .forBrowser('chrome')
      .setChromeOptions(chromeOptions)
      .build();
    
  • 检查运行用户权限与环境变量

    • Mup默认以meteor或root用户运行应用,确认该用户可访问Chrome二进制文件:
      sudo -u meteor ls -l /usr/bin/google-chrome
      
      若权限不足,执行以下命令赋予执行权限:
      sudo chmod +x /usr/bin/google-chrome
      
    • 在mup.js配置中添加环境变量,确保PATH包含Chrome所在目录:
      module.exports = {
        servers: { /* 你的服务器配置 */ },
        app: {
          // 其他应用配置
          env: {
            PATH: '/usr/bin:/usr/local/bin:$PATH'
          }
        }
      };
      
  • 安装无头Chrome依赖(若使用无头模式)
    如果使用Chrome无头模式,可能缺少系统依赖,执行以下命令安装:

    sudo apt-get update
    sudo apt-get install -y libxss1 libappindicator1 libindicator7
    sudo apt-get install -y xvfb libxi6 libgconf-2-4
    
  • 匹配ChromeDriver与Chrome版本
    ChromeDriver版本必须和安装的Chrome主版本一致:

    1. 查看Chrome版本:google-chrome --version
    2. 下载对应版本的ChromeDriver,上传至服务器/usr/local/bin目录
    3. 赋予执行权限:
      sudo chmod +x /usr/local/bin/chromedriver
      

内容的提问来源于stack exchange,提问作者Spencer Cornwall

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 08:55:31