在 CentOS 上切换 GCC 默认版本,常见做法取决于你是 CentOS 7 还是 CentOS 8 / Stream。下面按系统版本分别说明,并给出推荐方案。
CentOS 7 默认 GCC 版本较老(4.8.5),官方推荐通过 SCL 安装新版本。
yum install -y centos-release-scl
yum install -y devtoolset-9
可选版本:
devtoolset-7(GCC 7)devtoolset-8(GCC 8)devtoolset-9(GCC 9)devtoolset-10(GCC 10)scl enable devtoolset-9 bash
检查:
gcc --version
⚠️ 只对当前 shell 有效
echo "source /opt/rh/devtoolset-9/enable" >> ~/.bashrc
source ~/.bashrc
✅ 这是 CentOS 7 最常用、最安全的方式
gcc-toolsetCentOS 8 开始,SCL 改名为 gcc-toolset。
dnf install -y gcc-toolset-11
可选版本:
gcc-toolset-10gcc-toolset-11gcc-toolset-12scl enable gcc-toolset-11 bash
echo "source /opt/rh/gcc-toolset-11/enable" >> ~/.bashrc
source ~/.bashrc
ls /usr/bin/gcc*
alternativesalternatives --install /usr/bin/gcc gcc /opt/rh/devtoolset-9/root/usr/bin/gcc 90
alternatives --install /usr/bin/g++ g++ /opt/rh/devtoolset-9/root/usr/bin/g++ 90
切换:
alternatives --config gcc
⚠️ 风险:可能影响系统编译环境
gcc --version
g++ --version
| 系统版本 | 推荐方式 |
|---|---|
| CentOS 7 | devtoolset + scl enable |
| CentOS 8 / Stream | gcc-toolset |
| 临时测试 | scl enable |
| 长期开发 | 写入 .bashrc |
建议直接使用官方 GCC 镜像:
docker run -it gcc:11 bash
如果你愿意,可以告诉我:
我可以给你 最合适的一套命令。