Linux 下 Rust 依赖处理全流程
一 环境准备与安装
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh,安装后执行 source $HOME/.cargo/env,验证 rustc --version 与 cargo --version。如用发行版包管理器(如 dnf/apt)安装,也可直接 dnf install rust cargo 或 apt-get install rustc cargo。为后续构建 C 依赖,建议提前安装基础构建工具:sudo apt-get update && sudo apt-get install build-essential curl git。二 依赖管理常用流程
cargo new my_project && cd my_project。[dependencies]
serde = { version = "1.0", features = ["derive"] }
rand = "0.8"
cargo build(首次会生成 Cargo.lock,锁定精确版本,勿手动改)。cargo run、cargo test。cargo update(更新 Cargo.lock 中的具体版本)。cargo tree(需安装 cargo-tree 插件:cargo install cargo-tree)。cargo clean。三 网络加速与私有源配置
[source.crates-io]
registry = "https://github.com/rust-lang/crates.io-index"
replace-with = 'rsproxy'
[source.rsproxy]
registry = "https://rsproxy.cn/crates.io-index"
[registries.rsproxy]
index = "https://rsproxy.cn/crates.io-index"
[source.tuna]
registry = "https://mirrors.tuna.tsinghua.edu.cn/git/crates.io-index.git"
[source.ustc]
registry = "https://mirrors.ustc.edu.cn/crates.io-index"
[http]
proxy = "http://127.0.0.1:7890"
[https]
proxy = "https://127.0.0.1:7890"
export RUSTUP_DIST_SERVER=https://mirrors.tuna.tsinghua.edu.cn/rustup
export RUSTUP_UPDATE_ROOT=https://mirrors.tuna.tsinghua.edu.cn/rustup/rustup
四 C 依赖与 OpenSSL 等系统库的处理
sudo apt-get install build-essential perl pkg-config。tokio-tungstenite = { version = "0.25.0", features = ["rustls"] }。openssl-sys 的 vendored):openssl-sys = { version = "0.9", features = ["vendored"] }。五 发布与交付的静态编译与体积优化
rustup target add x86_64-unknown-linux-musl
cargo build --release --target x86_64-unknown-linux-musl
ldd target/x86_64-unknown-linux-musl/release/your_binary,若显示 not a dynamic executable 即为纯静态。[profile.release]
strip = true # 移除调试符号,Rust 1.59+
opt-level = "z" # 体积优先
lto = true # 全局链接时优化
codegen-units = 1
panic = "abort" # 减小体积(影响栈展开)
upx --best target/.../your_binary;注意可能带来启动解压开销与误报风险。