在 CentOS 上配置 Rust 开发环境时,有几个常见坑和注意点,下面按“系统版本 + 安装方式 + 常见问题”来说明。
cat /etc/redhat-release
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source $HOME/.cargo/env
验证:
rustc --version
cargo --version
CentOS 默认 没有完整编译工具链
sudo yum groupinstall "Development Tools"
sudo yum install -y openssl-devel curl-devel
sudo dnf groupinstall "Development Tools"
sudo dnf install -y openssl-devel
⚠️ 如果缺少 gcc / make,编译 Rust 项目会直接失败
很多 Rust 项目用 reqwest / tokio / sqlx,默认依赖系统 OpenSSL。
确保:
openssl-devel
已安装
可能报错:
error: failed to run custom build command for `openssl-sys`
解决方式(任选):
# 指定版本(推荐)
export OPENSSL_DIR=/usr
或使用 vendored:
[dependencies]
openssl = { version = "0.10", features = ["vendored"] }
✅ 建议:
mkdir -p ~/.cargo
cat > ~/.cargo/config.toml <<EOF
[source.crates-io]
replace-with = "rsproxy"
[source.rsproxy]
registry = "https://rsproxy.cn/crates.io-index"
[registries.rsproxy]
index = "https://rsproxy.cn/crates.io-index"
EOF
如果是 Web 服务:
sudo firewall-cmd --add-port=8080/tcp --permanent
sudo firewall-cmd --reload
SELinux 可能导致 bind 失败:
sudo setsebool -P httpd_can_network_connect 1
✅ CentOS 7
✅ CentOS Stream / Rocky 9
如果你告诉我:
我可以给你一套更精确的配置方案。