Cargo 是 Rust 的包管理器和构建系统,它对于管理项目、依赖项以及编译构建过程非常重要。对于刚开始学习 Rust 的开发者来说,熟悉 Cargo 的基本命令是非常必要的。下面列举了一些经常使用的 Cargo 命令,这些命令涵盖了从创建项目到项目构建、测试和发布的整个开发流程:
Cargo 的基本命令
- 新建项目
cargo new <项目名称>
:创建一个新的 Rust 项目。默认情况下,这会创建一个二进制项目。如果你想创建一个库项目,可以使用--lib
标志。cargo init
:在当前目录初始化一个新的 Rust 项目,而不是创建一个新目录。
在开始学习Rust时,理解cargo
命令行工具的使用是非常重要的。cargo
是Rust的包管理器和构建系统,它让Rust项目的构建、测试、文档生成和包发布变得简单。这里我将解释你提到的这两个命令及相关选项,以帮助你更好地理解它们的用途。
cargo new
命令
cargo new
命令用于创建一个新的Rust项目。当你执行此命令时,Cargo会为你创建一个新的目录,这个目录的名称与你指定的项目名称相同,并且在这个目录中初始化一个新的Rust项目。这个项目会包括一个Cargo.toml
文件(描述了项目的元数据和依赖)和一个src
目录(包含源代码)。
例如,执行cargo new my_project
会创建一个名为my_project
的目录,并在其中初始化一个新的Rust项目。
--lib
标志
当你创建一个新的项目时,可以通过--lib
标志指定你想创建一个库项目,而不是一个二进制项目。默认情况下,cargo new
命令创建的是一个二进制项目,它包含一个可执行文件的入口点(main.rs
)。如果你想创建一个库项目,你可以在命令中添加--lib
标志,这样Cargo会创建一个库项目,其入口点为lib.rs
,而不是main.rs
。
例如,执行cargo new my_library --lib
会创建一个名为my_library
的库项目。
cargo init
命令
与cargo new
命令相比,cargo init
命令的作用是在当前目录初始化一个新的Rust项目,而不是创建一个新目录。这对于当你已经有一个目录,并希望在该目录内初始化Rust项目时非常有用。
例如,如果你在一个名为existing_directory
的目录中,并希望将其转变为Rust项目,你可以在该目录中运行cargo init
。这将在existing_directory
目录中创建Cargo.toml
和src
目录,而不会创建新的外层目录。
与 --lib
标志的结合使用
无论是使用cargo new
还是cargo init
命令,都可以通过添加--lib
标志来指定你想创建的是一个库项目。这个标志告诉Cargo你的项目是一个库,主要用于提供API给其他项目使用,而不是一个独立执行的应用程序。
-
构建项目
cargo build
:编译项目及其依赖项。默认情况下,Cargo 会进行调试构建。cargo build --release
:以优化模式编译项目,用于生产环境。
-
运行项目
cargo run
:编译并运行项目。如果项目已经被编译,Cargo 会直接运行二进制文件。cargo run --release
:以优化模式编译并运行项目。
-
测试项目
cargo test
:运行项目中的测试代码。
-
检查代码
cargo check
:快速检查项目代码是否能够编译,但不输出可执行文件。这对于快速迭代代码非常有用。
-
添加依赖
- 手动添加:编辑
Cargo.toml
文件,在[dependencies]
部分添加你需要的库及其版本号。 - 自动添加:使用
cargo add <依赖名称>
命令自动添加依赖到Cargo.toml
文件(这需要安装cargo-edit
工具)。
- 手动添加:编辑
-
更新依赖
cargo update
:更新Cargo.lock
文件中的依赖项到最新兼容版本。
-
清理项目
cargo clean
:删除target/
目录中的所有生成文件,清理项目编译产物。
-
发布库
cargo publish
:将你的库项目发布到 crates.io。
-
生成文档
cargo doc
:为项目中的依赖项和库生成文档。
-
查看帮助
cargo help
:查看更多 Cargo 命令和选项的帮助信息。cargo help <命令>
:查看指定 Cargo 命令的帮助信息。