温馨提示×

在Linux上运行Rust程序需要哪些依赖

小樊
42
2025-11-30 13:13:45
栏目: 编程语言

Linux 上运行 Rust 程序的依赖与准备

一 运行已构建的 Rust 程序所需依赖

  • 发行版自带的基础 C 运行时:Rust 程序在 Linux 上默认动态链接 glibc,因此目标机器需要安装对应版本的 glibc 才能运行。若程序使用了外部原生库(如 OpenSSL、libsqlite3、GTK 等),还需在目标系统安装这些库的运行时包(通常名为 libssl、libsqlite3、libgtk-3 等)。可用 ldd 检查可执行文件的动态依赖:ldd target/debug/your_app。为减少外部依赖、提升可移植性,可考虑静态编译(见下文)。

二 在目标机器仅运行而不开发的最小依赖

  • 若你已在开发机构建完成并拿到可执行文件,目标机器一般只需要:已安装与构建时相同或兼容的 glibc,以及程序用到的任何原生库的运行时(若程序为纯 Rust 且无 FFI/系统库依赖,通常仅依赖 glibc 即可)。如需确认,请在目标机上执行 ldd 检查缺失库并安装对应 -dev/-runtime 包。

三 在 Linux 上开发或自行构建的依赖

  • 基础工具链与构建工具:安装 curlbuild-essential(Debian/Ubuntu)或 gcc、make、cmake(RHEL/CentOS/Fedora)等,用于支持本地编译与链接。随后通过 rustup 安装 Rust 工具链(含 rustccargo):curl --proto ‘=https’ --tlsv1.2 -sSf https://sh.rustup.rs | sh,安装后执行 source $HOME/.cargo/env 并验证:rustc --version、cargo --version。使用 Cargo 管理依赖与构建:cargo new、cargo build、cargo run、cargo test、cargo tree、cargo update、cargo clean。

四 常见原生库依赖示例

  • 网络/加密:若项目使用 reqwest/openssl,在 Ubuntu 需安装 libssl-dev;GUI 应用使用 GTK 时需安装 libgtk-3-dev。不同发行版的包名可能略有差异,请以所用发行版仓库为准。

五 跨发行版分发与静态编译建议

  • 为降低对目标系统库的依赖、提升可移植性,可使用 MUSL 进行静态编译:rustup target add x86_64-unknown-linux-musl,然后 cargo build --release --target x86_64-unknown-linux-musl。静态链接后生成的可执行文件对目标系统的 glibc 等依赖显著减少,更适合在较旧或不同发行版上直接运行。

0