在 CentOS 上配置 Rust 有几个常见注意点,特别是不同版本(CentOS 7 / 8 / Stream)差异较大。下面按 实用性 给你总结一份清单。
✅ 最稳妥、最推荐
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
安装后:
source ~/.cargo/env
rustc --version
cargo --version
~/.cargorustup update
CentOS 7 默认 gcc 4.8,可能导致 Rust 编译失败。
✅ 解决方式:
sudo yum install -y gcc gcc-c++ make
若仍报错,建议:
sudo yum install -y centos-release-scl
sudo yum install -y devtoolset-7
scl enable devtoolset-7 bash
或长期使用:
echo "source /opt/rh/devtoolset-7/enable" >> ~/.bashrc
glibc 2.17✅ 建议:
相对友好:
sudo dnf install -y gcc cargo
但仍建议使用 rustup,避免系统 Rust 版本过旧。
❌ 不推荐
sudo yum install rust
原因:
✅ 如果已安装,先卸载:
sudo yum remove rust
rustup 会自动修改:
~/.cargo/bin
如果没有生效:
export PATH="$HOME/.cargo/bin:$PATH"
加入:
~/.bashrc
~/.zshrc
很多 crate(如 openssl-sys)需要 C 编译:
sudo yum install -y gcc pkg-config
出现类似错误:
failed to run custom build command for `openssl-sys`
✅ 解决:
sudo yum install -y openssl-devel
FROM rust:1.77
避免 CentOS 的老依赖问题。
export RUSTUP_DIST_SERVER=https://mirrors.ustc.edu.cn/rustup
export RUSTUP_UPDATE_ROOT=https://mirrors.ustc.edu.cn/rustup/rustup
或:
export RUSTUP_DIST_SERVER=https://rsproxy.cn
export RUSTUP_UPDATE_ROOT=https://rsproxy.cn/rustup
~/.cargo/config.toml:
[source.crates-io]
replace-with = 'ustc'
[source.ustc]
registry = "https://mirrors.ustc.edu.cn/crates.io-index"
✅ CentOS + Rust 推荐组合
gcc openssl-devel pkg-config
rustc --version
cargo --version
gcc --version
openssl version
如果你愿意,可以告诉我:
我可以给你一份 完全贴合你环境的 Rust 安装方案。