跟我一起学rust-cargo

后端 / 笔记 / 2021-11-04

什么是cargo

Cargo 是 Rust 的构建系统和包管理器。大多数 Rustacean 们使用 Cargo 来管理他们的 Rust 项目,因为它可以为你处理很多任务,比如构建代码、下载依赖库并编译这些库。(我们把代码所需要的库叫做 依赖(dependencies))。

为什么要用cargo

仅仅使用 rustc 编译简单程序是没问题的,不过随着项目的增长,你可能需要管理你项目的方方面面,并让代码易于分享。

查看cargo版本

cargo --version
cargo 1.55.0 (32da73ab1 2021-08-23)

如果你能看到cargo版本号,那么恭喜你cargo已成功安装!

创建项目

cargo new hello_cargo
cd hello_cargo

Cargo.toml

[package]
name = "hello_cargo"
version = "0.1.0"
edition = "2018"

[dependencies]

这是cargo的配置文件,相当于nodejs里面的 package.json

  • [package]是一个片段/标题,表示下面语句用来配置一个包
  • [dependencies] 是第三方代码包,rust中称作crates

构建项目

cargo build
   Compiling hello_cargo v0.1.0 (file:///projects/hello_cargo)
    Finished dev [unoptimized + debuginfo] target(s) in 2.85 secs

这个命令用来构建二进制文件

运行项目

cargo run

他会直接编译运行rust项目,并不会生成二进制文件

检查项目

cargo check

这个命令,用来检测当前项目是否存在编译错误,他比cargo run/build 运行速度要快得多。

因此在实际开发中,我们可以在编译前使用cargo check 来确保当前代码可被编译

发布程序

cargo build --release

这个命令用来优化编译项目,这些优化可以使rust代码运行更快,通常在发布程序时使用。

拉取依赖

cargo update

用来更新当前项目使用的 crates

查看当前项目依赖文档

cargo doc --open

这命令非常好用,他会抽取当前项目使用的crates然后生成一个静态页面。

image.png