RedHat 8系系统升级GitLab CE遇依赖问题:缺少perl无法安装
GitLab CE 15.0.x 升级至15.4.0 依赖问题处理
问题场景
将GitLab CE从15.0.x版本升级到15.4.0时,执行升级命令:
dnf install gitlab-ce-15.4.0
返回依赖冲突错误:
conflicting requests
- nothing provides perl needed by gitlab-ce-15.4.0-ce.0.el8.x86_64
(try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)
尝试直接安装perl包时失败:
dnf install perl
返回错误:
未找到匹配的参数: perl # no match parameters
错误:没有任何匹配 # error: no any match
系统环境
当前系统为CentOS 8.0.1905,RedHat 8系发行版中,perl对应的核心包为perl-interpreter,且该包已安装:
# cat /etc/redhat-release CentOS Linux release 8.0.1905 (Core) # dnf list perl-interpreter 已安装的软件包 // installed packages perl-interpreter.x86_64 4:5.26.3-416.el8 @anaconda 可安装的软件包 // installable packages perl-interpreter.x86_64 4:5.26.3-420.el8 base
解决方案
方法一:安装perl软件包组(推荐)
CentOS 8中没有单独的perl包,而是以软件包组的形式提供完整perl环境,GitLab依赖的perl是该组提供的虚拟包。执行以下步骤:
- 确保AppStream仓库已启用(perl组位于此仓库):
dnf config-manager --set-enabled appstream - 安装perl软件包组:
dnf install @perl - 重新执行GitLab升级命令:
dnf install gitlab-ce-15.4.0
方法二:强制跳过依赖检查(仅作为最后手段)
如果方法一无效,可临时关闭严格依赖检查完成升级,但可能导致潜在依赖问题:
dnf install gitlab-ce-15.4.0 --setopt=strict=0
内容的提问来源于stack exchange,提问作者parz1 Zhou
相关产品推荐
相关产品推荐

