CentOS 7 yum install devtoolset-11-gcc* 报错:Could not retrieve mirrorlist http://mirrorlist.centos.org?
目录
这个错误是因为 CentOS 7 的 SCLo 软件仓库已于 2024年6月30日停止维护,官方镜像站已无法访问。你需要切换到第三方镜像来安装 devtoolset-11。
🛠️ 解决方案:使用阿里云镜像
步骤 1:备份并禁用原 SCLo 仓库
# 进入yum仓库目录
cd /etc/yum.repos.d/
# 备份原SCLo仓库文件
mv CentOS-SCLo-scl.repo CentOS-SCLo-scl.repo.bak
mv CentOS-SCLo-scl-rh.repo CentOS-SCLo-scl-rh.repo.bak
步骤 2:配置阿里云 SCLo 仓库
创建新的仓库配置文件:
# 创建新的SCLo仓库配置
vi /etc/yum.repos.d/CentOS-SCLo-scl-rh-aliyun.repo
将以下内容复制到文件中:
[centos-sclo-rh]
name=CentOS-7 - SCLo rh
baseurl=https://mirrors.aliyun.com/centos/7/sclo/x86_64/rh/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo
[centos-sclo-scl]
name=CentOS-7 - SCLo scl
baseurl=https://mirrors.aliyun.com/centos/7/sclo/x86_64/sclo/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo
保存并退出。
步骤 3:清理缓存并安装 devtoolset-11
# 清理yum缓存
yum clean all
yum makecache
# 安装devtoolset-11
yum install devtoolset-11-gcc*
步骤 4:启用新版本 GCC
# 临时启用(仅当前会话有效)
scl enable devtoolset-11 bash
# 永久启用(添加到bash配置)
echo "source /opt/rh/devtoolset-11/enable" >> ~/.bashrc
source ~/.bashrc
🔄 备选方案:如果阿里云镜像也不行
如果阿里云镜像也有问题,可以尝试完全禁用 GPG 检查(不推荐,仅作为临时方案):
# 临时禁用GPG检查
yum install devtoolset-11-gcc* --nogpgcheck
📦 其他获取 GCC 的方法
如果上述方法都不行,还可以考虑:
方案 1:从源码编译 GCC
# 安装编译依赖
yum install -y wget gcc-c++ make
# 下载并编译GCC 11
wget https://ftp.gnu.org/gnu/gcc/gcc-11.4.0/gcc-11.4.0.tar.gz
tar xf gcc-11.4.0.tar.gz
cd gcc-11.4.0
./contrib/download_prerequisites
mkdir build && cd build
../configure --prefix=/usr/local/gcc-11 --enable-languages=c,c++ --disable-multilib
make -j$(nproc)
make install
方案 2:使用预编译的 GCC 二进制包
# 从第三方仓库安装
yum install -y epel-release
yum install -y gcc-toolset-11-gcc*
✅ 验证安装
安装完成后验证 GCC 版本:
gcc --version
which gcc
💡 长期建议
考虑到 CentOS 7 已停止维护,建议:
- 升级到 CentOS Stream 8/9 或 Rocky Linux/AlmaLinux
- 或者考虑使用 Docker 容器来隔离开发环境
Do not communicate by sharing memory; instead, share memory by communicating.

浙公网安备 33010602011771号