Rust在Ubuntu上的依赖管理主要通过官方工具链 rustup 和包管理器 Cargo 实现,以下是具体流程和关键操作:
在Ubuntu上安装Rust有两种主流方式,推荐优先使用rustup(官方工具链管理器):
使用rustup安装(推荐)
rustup是Rust的官方工具链多路复用器,可安装最新稳定版的Rust编译器(rustc)、包管理器(Cargo)及其他工具(如rustfmt、clippy)。
sudo apt update && sudo apt upgrade -ysudo apt install curl build-essential gcc make -y(build-essential包含编译Rust程序所需的GCC等工具)curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh,按提示选择默认安装(选项1)。source $HOME/.cargo/env(或重启终端),使rustc和cargo命令生效。rustc --version(显示Rust编译器版本)、cargo --version(显示Cargo版本)。export RUSTUP_DIST_SERVER=https://mirrors.ustc.edu.cn/rust-static
export RUSTUP_UPDATE_ROOT=https://mirrors.ustc.edu.cn/rust-static/rustup
再次执行安装命令即可。使用Ubuntu包管理器安装(备选)
若无需最新版本,可通过apt安装系统级的Rust(版本较旧,如Ubuntu 22.04默认为1.0.0):
sudo apt install rustc cargo -y
卸载时使用:sudo apt remove rustc cargo && sudo apt autoremove。
Cargo是Rust的官方包管理器与构建工具,负责处理项目依赖、编译、测试等流程。所有Rust项目都需通过Cargo初始化,依赖配置存储在项目根目录的Cargo.toml文件中。
创建新项目
使用cargo new命令生成标准项目结构:
cargo new my_project(生成my_project目录,包含src/main.rs和Cargo.toml)。
进入项目目录:cd my_project。
添加依赖项
编辑Cargo.toml文件,在[dependencies]部分添加所需依赖及版本。例如:
[dependencies]
serde = { version = "1.0", features = ["derive"] } # JSON序列化库,启用derive特性
rand = "0.8" # 随机数生成库
rand = "0.8.5"(固定使用0.8.5版);rand = "0.8"(使用0.8.x的最新版,x≥0);features = ["derive"](启用库的额外功能,如serde的派生宏)。下载与编译依赖
添加依赖后,运行cargo build命令:
Cargo.toml,从crates.io(Rust官方包仓库)下载依赖;target/debug/my_project可执行文件(Debug版本)。cargo run(自动执行build+run)。更新依赖版本
运行cargo update命令:
Cargo.lock文件(记录依赖的确切版本,确保团队协作的一致性);Cargo.toml中的版本规则,下载依赖的新版本(如rand = "0.8"会更新到0.8.x的最新版)。查看依赖树
使用cargo tree命令(需安装cargo-tree插件:cargo install cargo-tree):
展示项目依赖的层级关系,例如:
my_project v0.1.0 (/path/to/my_project)
├── serde v1.0.191 (*)
└── rand v0.8.5
帮助开发者理解依赖的传递关系,解决版本冲突。
清理构建缓存
运行cargo clean命令:
删除target目录下的所有编译产物(如可执行文件、中间文件),释放磁盘空间。
~/.cargo/registry/src目录(缓存),项目特定的依赖存储在target/debug/deps(Debug版)或target/release/deps(Release版)。Cargo.toml中的版本规则(如使用^或~符号指定兼容范围)。cargo build(需提前运行过cargo update)。通过上述流程,开发者可高效管理Rust项目在Ubuntu上的依赖,确保项目构建的稳定性和可维护性。