在 CentOS 上高效构建 Rust 项目的实用方案
一 基础环境快速到位
source $HOME/.cargo/env 并验证版本。二 提速策略与工具链优化
export CARGO_BUILD_JOBS=$(nproc)),充分利用多核。cargo install sccacheexport RUSTC_WRAPPER=sccacheexport SCCACHE_CACHE_SIZE="20G"(可按磁盘调整)[target.x86_64-unknown-linux-gnu] linker = "lld"三 依赖与系统库处理要点
openssl-sys 定位:
export OPENSSL_DIR=/usr OPENSSL_INCLUDE_DIR=/usr/include OPENSSL_LIB_DIR=/usr/lib64ENV PYO3_PYTHON=/opt/conda/bin/python3libpython3.x.so 链接至系统库目录(如 /usr/lib64)以避免运行时缺失。x86_64-unknown-linux-musl)并使用相应工具链;大型项目常结合 cross 在 Docker 中完成标准化构建与打包。四 本地与 CI 的标准化构建流程
#!/usr/bin/env bash
set -euxo pipefail
# 1) 环境
source "$HOME/.cargo/env"
export CARGO_BUILD_JOBS=$(nproc)
# 2) 可选:缓存加速
if command -v sccache >/dev/null; then
export RUSTC_WRAPPER=sccache
export SCCACHE_CACHE_SIZE="20G"
fi
# 3) 可选:更快链接器(按需安装)
# sudo yum install -y mold || echo "mold not installed, using system linker"
# 4) 构建
cargo build --release
Cross.toml 中绑定自定义镜像,在 .gitlab-ci.yml 中执行 cross build --release --target x86_64-unknown-linux-gnu 并收集产物。