如何在Debian上使用Rust的包管理器
在Debian上安装Rust和Cargo需先更新系统并安装编译工具链,通过rustup一键完成安装。Cargo支持项目的创建、构建、运行、依赖管理以及打包为.deb文件,整个流程直观高效,极大提升开发效率。
在Debian上折腾Rust开发,Cargo是绕不开的伙伴。作为官方包管理器,它不仅能帮你轻松管理项目、依赖,还能一键编译发布。下面这份实战指南,从零开始带你走完整个流程——不绕弯子,全是刚需操作。

1. 准备系统环境
动手之前,先把系统环境收拾利索。更新一下软件包列表,装上必要的编译工具链——curl、build-essential、gcc、make,一个都不能少。这条命令一步到位:
sudo apt update && sudo apt install curl build-essential gcc make -y
别小看这一步,很多新手栽在不装构建依赖上,编译报错时一脸懵。
2. 安装Rust与Cargo
Rust官方推荐的安装方式是rustup,它会把Rust编译器(rustc)和Cargo一起打包好,而且永远指向最新稳定版。命令很简单:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
执行后终端会弹出交互提示,直接选默认配置一路回车即可。安装完成后,记得重新加载Shell配置文件,让cargo和rustc命令生效:
source $HOME/.cargo/env
如果你用的是zsh或bash,这一步不能省略,否则系统找不到新装的工具。
3. 验证安装
装没装对,跑两行命令检验一下:
rustc --version
# 输出类似 rustc 1.75.0 (这样的版本号)
cargo --version
# 输出类似 cargo 1.75.0
看到版本号弹出,就意味着Rust工具链已经就绪,可以正式开始搞项目了。
4. 使用Cargo管理Rust项目
创建新项目
cargo new是项目启动的标配命令。比如创建一个叫my_project的项目:
cargo new my_project
cd my_project
执行之后,目录下会自动生成src/main.rs(程序入口)和Cargo.toml(项目配置清单),标准得不能再标准。
构建与运行项目
- 构建项目:用
cargo build编译代码,生成的可执行文件放在target/debug/目录下。 - 运行项目:
cargo run是一键编译+执行的快捷键,省心省力。 - 发布构建:需要生产环境下的优化版本?用
cargo build --release,产物在target/release/,体积更小、速度更快。
5. 管理项目依赖
添加依赖
Rust的依赖管理非常透明——直接编辑Cargo.toml。比如想用rand这个随机数生成库,版本0.8,在[dependencies]下面加一行:
[dependencies]
rand = "0.8"
保存文件后随便跑一次cargo build,Cargo就会自动联网下载并编译这个依赖,全程无感。
更新依赖
- 更新所有依赖:执行
cargo update,Cargo会根据Cargo.toml中的版本要求,更新Cargo.lock锁文件里的版本。 - 更新特定依赖:只想更新某个依赖?用
-p参数指定名字,比如cargo update -p rand。
查看依赖树
项目依赖多了之后,关系容易乱。用cargo tree可以直观看到依赖的层级关系。不过这个工具需要先安装:
cargo install cargo-tree
cargo tree
输出结果就像一棵树,哪个依赖被谁引用,一目了然。
6. 高级技巧:生成Debian包
如果想把Rust项目打包成.deb格式,直接在其他Debian机器上安装,可以用cargo-deb这个工具。先安装它:
cargo install cargo-deb
然后在项目目录下执行cargo deb,几秒钟后就能在项目根目录看到生成的.deb文件。拿到其他Debian系统上,通过dpkg -i 包名.deb就能安装,非常方便。
到这里,从零开始的环境搭建、项目创建、依赖管理到打包发布,全链路都打通了。Cargo这套工具链设计得相当顺手,熟练之后你会发现——在Debian上写Rust,真的是一种享受。
Windows 10 是一款微软推出的经典操作系统,拥有硬件兼容性与多任务处理能力。它更偏向把系统状态查看和常用调节动作放在一起,适合需要持续观察和微调设备状态的场景。
极度公式是一款跨平台专业LaTeX公式识别编辑软件,支持OCR公式识别和多平台编辑。和使用说明,避免使用,享受完整功能与稳定支持。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。
















