Cargo 是 Rust 的构建系统和包管理工具,同时 Rustacean 们使用 Cargo 来管理它们的 Rust 项目。Cargo 负责三个工做:构建你的代码,下载你代码依赖的库并编译这
些库。咱们把你代码须要的库叫作“依赖(dependencies)”由于你的代码依赖他们。
官方安装包的话,Rust 自带 Cargo工具
Cargo安装
rust官方安装包自带Cargo,在终端检查你是否安装了 Cargo:优化
cargo --version
Cargo工程建立
一、建立工程目录(例如/home目录下建立)ui
mkdir projects
二、进入/home/projects目录,而后新建Cargo工程spa
cd /home/projects/ cargo new hello_world --bin
这个命令传递了 --bin 参数由于咱们的目标是直接建立一个可执行程序,而不是一个库。Cargo 为咱们建立了两个文件和一个目录:一个 Cargo.toml (该文件首字母C 必须大写,同时该文件必须与src放置于同级目录,不然运行报错) 和一个包含了 main.rs 文件的 src 目录。debug
关于Cargo.toml:确保 Cargo.toml 的 C 是大写的,不然 Cargo 不知道如何处理配置文件。这个文件使用TOML(Tom's Obvious, Minimal Language)格式。 TOML 相似于INI,不过有一些额外的改进之处,而且被用做 Cargo 的配置文件。code
三、编译(cargo build)blog
#cd hello_world/ #cargo build Compiling hello_world v0.1.0 (/home/projects/hello_world) Finished dev [unoptimized + debuginfo] target(s) in 0.43s
四、运行(cargo run)ci
# cargo run Finished dev [unoptimized + debuginfo] target(s) in 0.02s Running `target/debug/hello_world` Hello, world!
五、发布构建(cargo build --release )开发
你的项目准备好发布了,能够使用 cargo build --release 来优化编译项目。这些优化可让 Rust 代码运行的更快,不过启用他们会让程序花更长的时间编译。这也是为什么这是两种不一样的配置,一个为了开发,另外一个构建提供给用户的最终程序。get
# cargo build --release Finished release [optimized] target(s) in 0.01s # ls Cargo.lock Cargo.toml src target
运行完成后发现会生成Cargo.lock 文件以及target目录,Cargo 用 Cargo.lock 文件跟踪你程序的依赖。这里是 Hello World 项目的 Cargo.lock 文件。这个项目并无依赖,因此内容有一点稀少。事实上,你本身甚至都不须要碰这个文件;仅仅让 Cargo 处理它就好了。到了这一步,就已经成功使用 Cargo 构建了 hello_world 。
关于Cargo.toml配置内容将另外说明;