温馨提示×

CentOS配置Rust要注意什么

小樊
37
2026-08-29 15:23:40
栏目: 编程语言

CentOS 上配置 Rust 有几个常见注意点,特别是不同版本(CentOS 7 / 8 / Stream)差异较大。下面按 实用性 给你总结一份清单。


一、推荐方式:使用 rustup(官方推荐)

最稳妥、最推荐

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

安装后:

source ~/.cargo/env
rustc --version
cargo --version

注意事项

  • 会安装到 ~/.cargo
  • 不影响系统包
  • 可随时升级:
rustup update

二、CentOS 版本差异(非常重要)

✅ CentOS 7(最需要注意)

1️⃣ 系统自带 gcc 太老

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

2️⃣ glibc 版本低

  • CentOS 7:glibc 2.17
  • Rust 仍支持,但 不能编译需要高 glibc 的 crate

✅ 建议:

  • 使用 Rust 官方 build
  • 不手动升级 glibc(风险极高)

✅ CentOS 8 / Stream

相对友好:

sudo dnf install -y gcc cargo

但仍建议使用 rustup,避免系统 Rust 版本过旧。


三、是否需要安装系统 Rust?

不推荐

sudo yum install rust

原因:

  • 版本旧
  • 更新慢
  • 与 rustup 可能冲突

✅ 如果已安装,先卸载:

sudo yum remove rust

四、环境变量与 PATH

rustup 会自动修改:

~/.cargo/bin

如果没有生效:

export PATH="$HOME/.cargo/bin:$PATH"

加入:

~/.bashrc
~/.zshrc

五、编译和运行项目注意事项

1️⃣ 缺少 C 编译器

很多 crate(如 openssl-sys)需要 C 编译:

sudo yum install -y gcc pkg-config

2️⃣ OpenSSL 问题(非常常见)

出现类似错误:

failed to run custom build command for `openssl-sys`

✅ 解决:

sudo yum install -y openssl-devel

六、Docker / CI 场景建议

✅ 官方镜像更省心

FROM rust:1.77

避免 CentOS 的老依赖问题。


七、国内网络问题(大陆服务器)

1️⃣ 使用中国镜像

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

2️⃣ Cargo 镜像

~/.cargo/config.toml

[source.crates-io]
replace-with = 'ustc'

[source.ustc]
registry = "https://mirrors.ustc.edu.cn/crates.io-index"

八、推荐配置总结(最佳实践)

CentOS + Rust 推荐组合

  • ✅ CentOS 7:rustup + devtoolset-7
  • ✅ CentOS 8 / Stream:rustup + dnf
  • ✅ 不装系统 Rust
  • ✅ 必备依赖:
gcc openssl-devel pkg-config

九、快速检查清单 ✅

rustc --version
cargo --version
gcc --version
openssl version

如果你愿意,可以告诉我:

  • ✅ CentOS 具体版本
  • ✅ 是生产环境还是开发环境
  • ✅ 是否使用 Docker

我可以给你一份 完全贴合你环境的 Rust 安装方案

0