在Debian中管理Rust项目及依赖的核心工具是Cargo(Rust官方包管理器与构建工具),以下是具体操作流程:
推荐方式:使用rustup(官方工具链管理器)
运行以下命令安装最新稳定版Rust及Cargo,支持多版本切换:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source $HOME/.cargo/env # 加载环境变量
验证安装:rustc --version(显示Rust版本)、cargo --version(显示Cargo版本)。
备选方式:通过Debian官方仓库安装
若需稳定版本(可能非最新),可使用APT安装:
sudo apt update && sudo apt install rustc cargo
全局工具链管理(可选)
使用rustup安装特定版本(如1.58.0):rustup install 1.58.0;
切换默认版本:rustup default 1.58.0;
为项目指定版本:在项目目录创建.rust-version文件,写入所需版本号。
新建项目
使用Cargo快速生成项目结构:
cargo new my_project # 创建名为my_project的目录,包含src/main.rs等基础文件
cd my_project # 进入项目目录
构建项目
编译项目(生成target/debug/目录下的可执行文件):
cargo build
若需优化发布版本(生成target/release/目录):
cargo build --release
运行项目
直接编译并运行(自动执行cargo build):
cargo run
清理构建缓存
删除target/目录以释放磁盘空间:
cargo clean
查看依赖树
显示项目依赖的层级关系(需安装cargo-tree插件):
cargo install cargo-tree # 全局安装
cargo tree # 查看依赖树
添加依赖
编辑项目根目录的Cargo.toml文件,在[dependencies]部分添加所需库及版本(如serde用于序列化):
[dependencies]
serde = { version = "1.0", features = ["derive"] } # 启用derive特性
rand = "0.8" # 指定版本
保存后运行cargo build,Cargo会自动下载并编译依赖。
更新依赖
更新所有依赖到最新兼容版本:
cargo update
更新特定依赖(如serde):
cargo update -p serde
删除依赖
从Cargo.toml的[dependencies]中移除对应条目,再运行cargo build即可。
安装cargo-deb工具
用于将Rust项目打包为.deb格式(Debian原生包格式):
cargo install cargo-deb
生成Debian包
在项目目录运行以下命令,生成target/debian/目录下的.deb文件:
cargo deb
生成的包名格式为<project_name>_<version>-1_<arch>.deb(如my_project_0.1.0-1_amd64.deb)。
安装Debian包
使用dpkg命令安装生成的包:
sudo dpkg -i target/debian/my_project_0.1.0-1_amd64.deb
自定义包属性(可选)
在Cargo.toml中添加package.metadata.deb字段,可修改包名、版本、依赖关系等:
[package.metadata.deb]
maintainer = "Your Name <your.email@example.com>"
depends = "libc6 (>= 2.28), libssl1.1 (>= 1.1.1)"
description = "A brief description of your project"
通过以上步骤,可在Debian系统中高效管理Rust项目的依赖、构建及打包流程。Cargo作为核心工具,简化了大部分操作,而cargo-deb则满足了生成Debian包的需求。