使用 Cargo 管理项目
学习如何使用 Cargo 管理项目。
Cargo 简介
本课程的代码执行环境已为我们安装好所有所需工具,包括 Rust 编译器。除了 Rust 编译器外,Rust 还自带一个名为 Cargo 的工具,用于日常与语言的交互。Cargo 能处理从创建项目到获取预编写的代码包等各种任务。它能运行程序,并调用其他工具来格式化代码、发现常见错误;Cargo 几乎可以完成所有开发中的常规操作。
Cargo 的名称来源于 Rust 的结构设计。Rust 程序被称为“crates”(箱),而多个 crate 的管理由 Cargo 负责。本节将引导我们创建第一个 Rust 项目,并了解 Cargo 提供的各种功能。
首先,我们需要决定将 Rust 项目放在哪里。
为代码选择一个“主目录”
我们可以将项目放在任何位置,但建议选择一个容易找到、记住和输入的路径。
如果项目目录尚不存在,请使用常规操作系统工具创建它。
选定主目录后,我们就可以在其中添加新项目了。
使用 Cargo 创建新项目
每个新项目都以一个空的 crate 开始。要创建新项目,请按以下步骤操作:
- 打开终端或命令提示符。
- 导航到之前选定的 Rust 代码主目录(使用
cd命令)。 - 不需要手动创建子目录,Cargo 会自动为我们创建。
- 输入
cargo new [项目名称]。 - Rust 会创建一个名为
[项目名称]的子目录。使用cd [项目名称]进入该目录。
例如,在首选的 Rust 目录中创建一个名为 hello 的项目,可执行以下命令:
生成的二进制程序(应用程序)hello 包含以下目录和文件,可通过 ls 查看:
Cargo.toml:项目元数据文件,描述项目信息。src目录(包含源代码)。src/main.rs:一个最小化的源代码文件,包含向终端输出“Hello, world!”所需的基本代码。
cargo new 已经为我们创建了一个“Hello, world”程序。
让我们更仔细地看看这个示例程序中发生了什么。
你可以为程序或 crate 命名任意名称。建议使用 snake_case(单词间用下划线分隔)。如果你创建的是库并命名为
MyCool-Thing,在项目中引用时会遇到困难。取一个好的名字很难。别担心,稍后可以通过编辑
Cargo.toml来更改名称。有个常见的玩笑说,计算机科学中只有两件事很难:命名、缓存失效,以及边界错误。
运行 Hello, World
我们可以使用 cargo run 来运行 Rust 程序。来看下面的例子: