Hello, Cargo
Cargo 是 Rust 中用来构建系统的工具,同时是一个 Rust 的包管理器。Cargo 可以方便地为你解决项目工程中的依赖问题。
$ cargo --version
可以用此命令来检查系统中是否已经安装了 Cargo。
用 Cargo 来创建一个项目
$ cargo new hello_cargo
$ cd hello_cargo
我们在这里创建了名为"hello_cargo"的项目。创建项目后,会自动在项目的根目录生成.git
文件夹。
Cargo.toml
打开这个文件,会看到类似内容:
[package]
name = "hello_cargo"
version = "0.1.0"
edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
package
块中,描述了此项目的名称,版本信息。
dependencies
块中,描述了此项目需要的依赖和依赖的版本。
main.rs
打开 rust 源代码文件,会看到 cargo 默认生成了一下内容:
fn main() {
println!("Hello, world!");
}
编译运行 Cargo 项目
我们在项目的根目录中,可以使用:
$ cargo build
来编译项目。运行此命令后,会出现如下输出:
$ cargo build
Compiling hello_cargo v0.1.0 (/Users/moker/Projects/Rust-Learning/hello_cargo)
Finished `dev` profile [unoptimized + debuginfo] target(s) in 3.24s
编译成功后,会生成二进制文件,通过下面的路径来运行,可以看到输出:
$ ./target/debug/hello_cargo
Hello, world!
或者使用 Cargo 提供的运行命令来运行二进制文件:
$ cargo run
Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.02s
Running `target/debug/hello_cargo`
Hello, world!
可以看到,Cargo 为我们提供了一种更为优雅的方式来运行 Rust 的二进制文件。
如果我们在修改代码并重新运行cargo run
命令,那么 Cargo 会自动重新编译项目。
同时,Cargo 提供了代码检查命令:
$ cargo check
此命令可以检查代码中的错误,而无需重新编译项目,相比于cargo build
和cargo run
,cargo check
更快速,以避免我们在代码审查中浪费过多时间。
当我们的项目需要构建发布版本时,可以使用cargo build --release
来编译发布版本,可执行文件会放置在target/release
目录中。
Git 项目
因为 Cargo 在项目的配置文件中已经充分解决了各项依赖问题,因此,我们在克隆下来一个项目到本地后,可以直接使用cargo build
命令来编译项目。