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

GitLab CI流水线测试失效,求助安装旧版Chrome并解决Chrome安装依赖报错问题

GitLab CI流水线测试失效,求助安装旧版Chrome并解决Chrome安装依赖报错问题

问题描述

我在GitLab CI流水线里的测试现在失效了,这是我的.gitlab-ci.yml文件内容:

build:
  before_script:
    - sudo chmod +x ./gradlew
    - sudo apt-get update
    - wget https://download.java.net/java/GA/jdk14.0.2/205943a0976c4ed48cb16f1043c5c647/12/GPL/openjdk-14.0.2_linux-x64_bin.tar.gz
    - tar xvf openjdk-14.0.2_linux-x64_bin.tar.gz
    - sudo mv jdk-14.0.2 /usr/lib/jvm
    - sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/jdk-14.0.2/bin/javac" 3
    - sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/jdk-14.0.2/bin/java" 3
    - sudo update-alternatives --set "javac" "/usr/lib/jvm/jdk-14.0.2/bin/javac"
    - sudo update-alternatives --set "java" "/usr/lib/jvm/jdk-14.0.2/bin/java"
    - wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
    - sudo dpkg -i ./google-chrome-stable_current_amd64.deb
    - apt --fix-broken install

安装Chrome时出现了如下错误:

Preparing to unpack .../google-chrome-stable_current_amd64.deb ...
Unpacking google-chrome-stable (111.0.5563.146-1) over (61.0.3163.91-1) ...
dpkg: dependency problems prevent configuration of google-chrome-stable:
google-chrome-stable depends on libgbm1 (>= 17.1.0~rc2); however:
Version of libgbm1:amd64 on system is 17.0.7-0ubuntu0.16.04.1.
google-chrome-stable depends on libu2f-udev; however:
Package libu2f-udev is not installed.
google-chrome-stable depends on libvulkan1; however:
Package libvulkan1 is not installed.
dpkg: error processing package google-chrome-stable (--install):
dependency problems - leaving unconfigured
Processing triggers for mime-support (3.59ubuntu1) ...
Processing triggers for menu (2.1.47ubuntu1) ...
Errors were encountered while processing:
google-chrome-stable


解决方案

嘿,我之前也碰到过一模一样的问题!你的核心问题是Ubuntu 16.04系统的库版本太老,已经不兼容最新版Google Chrome了——Chrome在114.x版本之后就停止对Ubuntu 16.04的支持了,所以才会爆出这些依赖错误。下面给你两个靠谱的解决思路:

方案一:安装适配Ubuntu 16.04的旧版Chrome(优先推荐)

直接安装最后支持Ubuntu 16.04的Chrome稳定版(114.0.5735.198),这个版本的依赖和你的系统库完全兼容。修改.gitlab-ci.yml里的Chrome安装步骤:

# 替换原来的Chrome下载安装代码
- wget https://dl.google.com/linux/chrome/deb/pool/main/g/google-chrome-stable/google-chrome-stable_114.0.5735.198-1_amd64.deb
- sudo dpkg -i ./google-chrome-stable_114.0.5735.198-1_amd64.deb
- sudo apt-get install -f -y

替换后重新运行流水线,应该就能正常安装Chrome,测试也能恢复工作了。

方案二:尝试升级依赖库(不推荐,风险较高)

如果你一定要装新版Chrome,可以尝试手动升级依赖库,但Ubuntu 16.04官方源里没有更高版本的libgbm1,需要借助第三方源,可能会引发其他系统依赖冲突,谨慎操作:

# 先安装缺失的两个依赖包
- sudo apt-get install -y libu2f-udev libvulkan1
# 添加第三方源获取更高版本的libgbm1
- sudo add-apt-repository ppa:kisak/kisak-mesa
- sudo apt-get update
- sudo apt-get upgrade -y libgbm1
# 再安装Chrome并修复依赖
- sudo dpkg -i ./google-chrome-stable_current_amd64.deb
- sudo apt-get install -f -y

另外,给你个小建议:你现在手动安装JDK的步骤其实可以简化,直接用GitLab CI官方提供的openjdk:14镜像作为job的基础镜像,就能省去手动安装JDK的麻烦,还能减少出错概率:

build:
  image: openjdk:14
  before_script:
    - sudo chmod +x ./gradlew
    # 这里只保留Chrome的安装步骤即可
    # ... 你的Chrome安装代码 ...

备注:内容来源于stack exchange,提问作者Serhii Nykonenko

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.23 11:17:35