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

如何解决GitHub Workflows中的Lighthouse exit code 1错误?

GitHub Workflows中Lighthouse无法连接Chrome导致exit code 1的解决办法

问题背景

在GitHub Workflows执行lhci autorun --upload.target=temporary-public-storage --collect.staticDistDir=.时,Lighthouse以exit code 1退出,报错显示无法连接Chrome。已排查HTML/CSS语法错误、压缩图片优化加载,但页面仍加载缓慢无法访问。

报错日志

lhci autorun --upload.target=temporary-public-storage --collect.staticDistDir=.
shell: /usr/bin/bash -e {0}
env:
FORCE_COLOR: 1
> ✅  .lighthouseci/ directory writable
Configuration file not found
Chrome installation found
Healthcheck passed!

Started a web server on port 34123...
Running Lighthouse 3 time(s) on http://localhost:34123/index.html
Error: Lighthouse failed with exit code 1
Run #1...failed!
at ChildProcess.<anonymous> (/opt/hostedtoolcache/node/18.14.1/x64/lib/node_modules/@lhci/cli/src/collect/node-runner.js:120:21)
at ChildProcess.emit (node:events:513:28)
at ChildProcess._handle.onexit (node:internal/child_process:291:12)
Mon, 27 Feb 2023 14:49:25 GMT ChromeLauncher Waiting for browser.
Mon, 27 Feb 2023 14:49:25 GMT ChromeLauncher Waiting for browser...
Mon, 27 Feb 2023 14:49:26 GMT ChromeLauncher Waiting for browser.....
Mon, 27 Feb 2023 14:49:26 GMT ChromeLauncher Waiting for browser.......
Mon, 27 Feb 2023 14:49:27 GMT ChromeLauncher Waiting for browser.........
Mon, 27 Feb 2023 14:49:27 GMT ChromeLauncher Waiting for browser...........
Mon, 27 Feb 2023 14:49:28 GMT ChromeLauncher Waiting for browser.............
Mon, 27 Feb 2023 14:49:28 GMT ChromeLauncher Waiting for browser...............
Mon, 27 Feb 2023 14:49:29 GMT ChromeLauncher Waiting for browser.................
Mon, 27 Feb 2023 14:49:29 GMT ChromeLauncher Waiting for browser...................
Mon, 27 Feb 2023 14:49:30 GMT ChromeLauncher Waiting for browser.....................
Mon, 27 Feb 2023 14:49:30 GMT ChromeLauncher Waiting for browser.......................
Mon, 27 Feb 2023 14:49:31 GMT ChromeLauncher Waiting for browser.........................
Mon, 27 Feb 2023 14:49:31 GMT ChromeLauncher Waiting for browser...........................
Mon, 27 Feb 2023 14:49:32 GMT ChromeLauncher Waiting for browser.............................
Mon, 27 Feb 2023 14:49:32 GMT ChromeLauncher Waiting for browser...............................
Mon, 27 Feb 2023 14:49:33 GMT ChromeLauncher Waiting for browser.................................
Mon, 27 Feb 2023 14:49:33 GMT ChromeLauncher Waiting for browser...................................
Mon, 27 Feb 2023 14:49:34 GMT ChromeLauncher Waiting for browser.....................................
Mon, 27 Feb 2023 14:49:34 GMT ChromeLauncher Waiting for browser.......................................
Mon, 27 Feb 2023 14:49:35 GMT ChromeLauncher Waiting for browser.........................................
Mon, 27 Feb 2023 14:49:35 GMT ChromeLauncher Waiting for browser...........................................
Mon, 27 Feb 2023 14:49:36 GMT ChromeLauncher Waiting for browser.............................................
Mon, 27 Feb 2023 14:49:36 GMT ChromeLauncher Waiting for browser...............................................
Mon, 27 Feb 2023 14:49:37 GMT ChromeLauncher Waiting for browser.................................................
Mon, 27 Feb 2023 14:49:37 GMT ChromeLauncher Waiting for browser...................................................
Mon, 27 Feb 2023 14:49:38 GMT ChromeLauncher Waiting for browser.....................................................
Mon, 27 Feb 2023 14:49:38 GMT ChromeLauncher Waiting for browser.......................................................
Mon, 27 Feb 2023 14:49:39 GMT ChromeLauncher Waiting for browser.........................................................
Mon, 27 Feb 2023 14:49:39 GMT ChromeLauncher Waiting for browser...........................................................
Mon, 27 Feb 2023 14:49:40 GMT ChromeLauncher Waiting for browser.............................................................
Mon, 27 Feb 2023 14:49:40 GMT ChromeLauncher Waiting for browser...............................................................
Mon, 27 Feb 2023 14:49:41 GMT ChromeLauncher Waiting for browser.................................................................
Mon, 27 Feb 2023 14:49:41 GMT ChromeLauncher Waiting for browser...................................................................
Mon, 27 Feb 2023 14:49:42 GMT ChromeLauncher Waiting for browser.....................................................................
Mon, 27 Feb 2023 14:49:42 GMT ChromeLauncher Waiting for browser.......................................................................
Mon, 27 Feb 2023 14:49:43 GMT ChromeLauncher Waiting for browser.........................................................................
Mon, 27 Feb 2023 14:49:43 GMT ChromeLauncher Waiting for browser...........................................................................
Mon, 27 Feb 2023 14:49:44 GMT ChromeLauncher Waiting for browser.............................................................................
Mon, 27 Feb 2023 14:49:44 GMT ChromeLauncher Waiting for browser...............................................................................
Mon, 27 Feb 2023 14:49:45 GMT ChromeLauncher Waiting for browser.................................................................................
Mon, 27 Feb 2023 14:49:45 GMT ChromeLauncher Waiting for browser...................................................................................
Mon, 27 Feb 2023 14:49:46 GMT ChromeLauncher Waiting for browser.....................................................................................
Mon, 27 Feb 2023 14:49:46 GMT ChromeLauncher Waiting for browser.......................................................................................
Mon, 27 Feb 2023 14:49:47 GMT ChromeLauncher Waiting for browser.........................................................................................
Mon, 27 Feb 2023 14:49:47 GMT ChromeLauncher Waiting for browser...........................................................................................
Mon, 27 Feb 2023 14:49:48 GMT ChromeLauncher Waiting for browser.............................................................................................
Mon, 27 Feb 2023 14:49:48 GMT ChromeLauncher Waiting for browser...............................................................................................
Mon, 27 Feb 2023 14:49:49 GMT ChromeLauncher Waiting for browser.................................................................................................
Mon, 27 Feb 2023 14:49:49 GMT ChromeLauncher Waiting for browser...................................................................................................
Mon, 27 Feb 2023 14:49:50 GMT ChromeLauncher Waiting for browser.....................................................................................................
Mon, 27 Feb 2023 14:49:50 GMT ChromeLauncher Waiting for browser.......................................................................................................
Mon, 27 Feb 2023 14:49:50 GMT ChromeLauncher:error connect ECONNREFUSED ::1:37367
Mon, 27 Feb 2023 14:49:50 GMT ChromeLauncher:error Logging contents of /tmp/lighthouse.pILSYwp/chrome-err.log
Mon, 27 Feb 2023 14:49:50 GMT ChromeLauncher:error 
DevTools listening on ws://127.0.0.1:37367/devtools/browser/7c26091c-d096-4a86-a84c-85f53c75d072
[0227/144925.989931:WARNING:bluez_dbus_manager.cc(247)] Floss manager not present, cannot set Floss enable/disable.
[0227/144926.025738:WARNING:sandbox_linux.cc(393)] InitializeSandbox() called with multiple threads in process gpu-process.

Unable to connect to Chrome

Error: Process completed with exit code 1.

解决办法

1. 强制Chrome使用IPv4连接

日志中ECONNREFUSED ::1:37367表明Lighthouse尝试通过IPv6连接Chrome失败。在Workflow的LHCI命令前添加环境变量,强制Chrome绑定IPv4:

export CHROME_FLAGS="--headless=new --disable-gpu --no-sandbox --ipv4"
lhci autorun --upload.target=temporary-public-storage --collect.staticDistDir=.

2. 配置LHCI自定义启动参数

在项目根目录创建lighthouserc.js配置文件,统一管理Chrome启动参数:

module.exports = {
  ci: {
    collect: {
      staticDistDir: '.',
      chromeFlags: '--headless=new --disable-gpu --no-sandbox --ipv4',
    },
    upload: {
      target: 'temporary-public-storage',
    },
  },
};

之后直接执行lhci autorun即可,无需在命令行传递参数。

3. 延长Lighthouse超时时间

页面加载缓慢可能导致超时,在配置文件中增加等待时长:

module.exports = {
  ci: {
    collect: {
      staticDistDir: '.',
      chromeFlags: '--headless=new --disable-gpu --no-sandbox --ipv4',
      maxWaitForLoad: 60000, // 设置为60秒超时
    },
    upload: {
      target: 'temporary-public-storage',
    },
  },
};

4. 验证Chrome版本兼容性

在Workflow中添加步骤检查Chrome版本,确认与LHCI版本兼容:

- name: 检查Chrome版本
  run: google-chrome-stable --version

若版本不匹配,可手动安装指定版本的Chrome。

内容的提问来源于stack exchange,提问作者Yan Min Thwin

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 09:02:08