新闻详情

新闻详情

首页 / 资讯中心 / 详情

Rust cargo 快速上手

发布时间:2026/10/1 10:28:07来源:尧图网络
Rust cargo 快速上手
文章目录0.简介1.项目创建2.构建与运行3.依赖包管理4.测试与检查5.文档6.发布与打包7.Workspace 相关8.其他实用命令9.常用组合场景10.总结参考文献0.简介Cargo 是 Rust 的官方构建系统和包管理器集依赖管理、编译、测试、文档生成、发布等功能于一体。掌握以下常用子命令就能覆盖日常开发的绝大部分场景。1.项目创建cargonew my-project# 创建二进制项目含 src/main.rscargonew my-lib--lib# 创建库项目含 src/lib.rscargoinit# 在当前目录初始化项目2.构建与运行cargobuild# 编译debug 模式产物在 target/debug/cargobuild--release# 编译release 模式优化后产物在 target/release/cargorun# 编译并运行cargorun--release# release 模式运行cargorun -- arg1 arg2# 运行并传递命令行参数cargocheck# 只检查语法和类型不生成可执行文件比 build 快小技巧开发过程中频繁用cargo check快速验证代码能否编译比cargo build快得多。3.依赖包管理cargoaddserde# 添加依赖到 Cargo.tomlcargoaddtokio--featuresfull# 添加依赖并启用 featurecargoremove serde# 移除依赖cargoupdate# 更新 Cargo.lock 中的依赖版本cargoupdate-pserde# 只更新指定依赖cargotree# 以树状显示依赖关系cargotree-d# 只显示重复的依赖cargoinfo serde[--registryregistry]# 查看某个依赖 package 的详细信息版本、依赖、features 等cargosearch serde[--registryregistry]# 在 crates.io 上搜索相关 package注意1关于包版本升级。cargo add往 Cargo.toml 里新增一个依赖或修改某个已存在依赖的版本约束。它写的是声明即“我要用哪个包、大致什么版本范围”例如 cargo add serde 会写入 serde “1.0”。它本身不会去下载或升级已锁定的版本。cargo update根据 Cargo.toml 里的版本约束去更新 Cargo.lock 中锁定的实际版本。它做的是解析与升级把依赖升级到约束允许的最新版本并重写 Cargo.lock。哪个是升级包版本想让某个依赖升级到新版本用 cargo update如 cargo update -p serde 只升级 serde。想新增一个依赖或手动指定/放宽某个依赖的版本范围用 cargo add如 cargo add serde2 指定版本。一句话总结cargo add 改声明Cargo.tomlcargo update 改锁定Cargo.lock。日常“升级包版本”用 cargo update。2关于包版本查询。cargo info 用于查看某个依赖 package 的详细信息不能像go list -m -versions命令那样查出依赖的所有可用版本cargo search 用于在 registry 搜索 package默认 registry 是 crates.io。也不能像go list -m -versions命令那样列出依赖包的所有版本每个命中结果只带一个 版本一般是当前最高的稳定版。4.测试与检查cargotest# 运行所有测试单元测试 集成测试 文档测试cargotesttest_name# 只运行名称匹配的测试cargotest----nocapture# 显示测试中的 println! 输出cargoclippy# 运行 Clippy 静态检查cargoclippy ---Dwarnings# 将所有警告视为错误cargofmt# 格式化代码cargofmt--check# 检查格式不修改文件5.文档cargodoc# 生成 HTML 文档到 target/doc/cargodoc--open# 生成并自动打开浏览器cargodoc --no-deps# 只为当前项目生成文档不含依赖6.发布与打包cargopackage# 打包成 .crate 文件用于发布前验证cargopublish# 发布到 crates.iocargopublish --dry-run# 模拟发布不实际上传7.Workspace 相关cargobuild--workspace# 构建工作空间内所有成员cargotest-pmy-crate# 只测试指定成员cargobuild-pmy-crate# 只构建指定成员8.其他实用命令cargoclean# 删除 target/ 目录释放空间cargometadata# 以 JSON 格式输出项目元数据cargofix# 自动修复编译器建议的问题cargoinstallcargo-watch# 安装第三方 cargo 子命令cargobench# 运行基准测试9.常用组合场景场景命令日常开发快速验证cargo check提交前完整检查cargo fmt cargo clippy cargo test发布前验证cargo test --release cargo package查看依赖占用cargo tree -d清理磁盘空间cargo clean10.总结Cargo 的设计哲学是“一站式”大部分日常操作都不需要额外工具。记住这几个最常用的即可cargo new创建项目 →cargo check快速验证 →cargo run运行 →cargo test测试 →cargo clippy检查 →cargo fmt格式化 →cargo build --release发布构建熟练之后你还可以通过cargo install安装cargo-watch、cargo-expand、cargo-audit等第三方子命令进一步扩展 Cargo 的能力。参考文献Cargo 手册中文版
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

Node-RED低代码可视化:零Node.js基础构建工业数据看板 2026/10/1 11:10:10

Node-RED低代码可视化:零Node.js基础构建工业数据看板

1. 这不是写代码,是搭积木:为什么“拖拽可视化”能绕过Node.js门槛 “即使不会node.js,拖拽就可完成数据的可视化展示”——这句话乍看像营销话术,但背后是一套真实存在的、已被工业现场和中小团队验证数年的低代码可视化路径。它…

阅读更多 →
CIOE2026展台交换机选型与配置实操:从光模块到AI集群的现场验证 2026/10/1 11:10:09

CIOE2026展台交换机选型与配置实操:从光模块到AI集群的现场验证

CIOE2026的展台上要摆一台交换机,这在三年前几乎是不可想象的事。光通信展区的主角向来是光模块、硅光芯片、相干DSP,交换机最多在角落当个背景板。但这几年风向变了,AI集群、数据中心互联、CPO光电共封装全都要靠交换机来验证价值——谁家的…

阅读更多 →
银河麒麟V10 SSH安装配置与故障排查实战 2026/10/1 11:10:02

银河麒麟V10 SSH安装配置与故障排查实战

1. 银河麒麟 V10 上的一套 SSH 究竟由哪些东西组成很多人第一次接触银河麒麟 V10 的远程运维,脑子里只有一句"要用 SSH 连上去",但真到机器上敲命令的时候才发现,SSH 其实不是"一个软件",而是一组工具的集合。…

阅读更多 →
链表中间结点查找:快慢指针原理与代码实现全解析 2026/10/1 11:09:56

链表中间结点查找:快慢指针原理与代码实现全解析

链表相关的算法题里,找到链表的中间结点绝对是一道绕不开的入门题。不管你是刚开始刷 LeetCode、准备数据结构期末考试,还是面试前临时抱佛脚,这道题出现的频率都高得吓人。它的经典解法快慢指针,更是后续许多链表高级技巧的基石。…

阅读更多 →
安卓APK反编译与Smali修改实战指南 2026/10/1 11:09:56

安卓APK反编译与Smali修改实战指南

1. 这不是“破解”,而是安卓应用的深度理解入口你手头有个APK,想改掉启动页的广告、删掉某个没用的功能按钮、把深色主题换成自己设计的渐变紫,甚至想看看某款工具类App的算法逻辑——但打开Android Studio新建项目重写?成本太高&…

阅读更多 →
实时数据驱动的网红营销:从过程监控到策略调整 2026/10/1 11:09:56

实时数据驱动的网红营销:从过程监控到策略调整

做网红营销这几年,我最大的一个感触是:钱投出去以后,最怕的不是数据不好看,而是你等到活动结束才知道哪里出了问题。以前做一轮推广,经常要等供应商的结案报告,几十页PPT翻到最后,才发现那位“看…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉