在終端輸入如下命令檢查是否安裝了 Cargo:
$ cargo —version
使用 Cargo 創(chuàng)建一個(gè)新項(xiàng)目
$ cargo new hello_cargo
$ cd hello_cargo
第一行命令新建了名為 hello_cargo 的目錄灵迫。我們將項(xiàng)目命名為 hello_cargo,同時(shí) Cargo 在一個(gè)同名目錄中創(chuàng)建項(xiàng)目文件蜗字。
進(jìn)入 hello_cargo 目錄并列出文件伸眶。將會(huì)看到 Cargo 生成了兩個(gè)文件和一個(gè)目錄:一個(gè) Cargo.toml 文件肛冶,一個(gè) src 目錄览徒,以及位于 src 目錄中的 main.rs 文件。它也在 hello_cargo 目錄初始化了一個(gè) git 倉(cāng)庫(kù)漫雷,以及一個(gè) .gitignore 文件瓜富。
[***@bogon:] ~/Rust/projects/hello_cargo $ tree
.
├── Cargo.toml
├── src
│ └── main.rs
Cargo.toml文件內(nèi)容
[package]
name = "hello_cargo"
version = "0.1.0"
authors = ["Your Name you@example.com"]
edition = "2018"
[dependencies]
構(gòu)建和運(yùn)行Cargo項(xiàng)目
$ cargo build
Compiling hello_cargo v0.1.0 (file:///projects/hello_cargo)
Finished dev [unoptimized + debuginfo] target(s) in 2.85 secs
[***@bogon:] ~/Rust/projects/hello_cargo $ ls
Cargo.lock Cargo.toml src
[***@bogon:] ~/Rust/projects/hello_cargo $ cargo build
Compiling hello_cargo v0.1.0 (/Users/zhouhe/Rust/projects/hello_cargo)
Finished dev [unoptimized + debuginfo] target(s) in 1.35s
[***@bogon:] ~/Rust/projects/hello_cargo $ ls
Cargo.lock Cargo.toml src target
[***@bogon:] ~/Rust/projects/hello_cargo $
這個(gè)命令會(huì)創(chuàng)建一個(gè)可執(zhí)行文件 target/debug/hello_cargo (在 Windows 上是 target\debug\hello_cargo.exe),而不是放在目前目錄下降盹∮敫蹋可以通過(guò)這個(gè)命令運(yùn)行可執(zhí)行文件:
[zhouhe@bogon:] ~/Rust/projects/hello_cargo $ ./target/debug/hello_cargo
Hello, world!
用 cargo run 在一個(gè)命令中同時(shí)編譯并運(yùn)行生成的可執(zhí)行文件:
$ cargo run
Finished dev [unoptimized + debuginfo] target(s) in 0.0 secs
Running target/debug/hello_cargo
Hello, world!
cargo check 的命令。該命令快速檢查代碼確保其可以編譯:
$ cargo check
Checking hello_cargo v0.1.0 (file:///projects/hello_cargo)
Finished dev [unoptimized + debuginfo] target(s) in 0.32 secs
你在編寫(xiě)代碼時(shí)持續(xù)的進(jìn)行檢查蓄坏,cargo check 會(huì)加速開(kāi)發(fā)价捧!為此很多 Rustaceans 編寫(xiě)代碼時(shí)定期運(yùn)行 cargo check 確保它們可以編譯。當(dāng)準(zhǔn)備好使用可執(zhí)行文件時(shí)才運(yùn)行 cargo build涡戳。
我們回顧下已學(xué)習(xí)的 Cargo 內(nèi)容:
可以使用 cargo build 或 cargo check 構(gòu)建項(xiàng)目结蟋。
可以使用 cargo run 一步構(gòu)建并運(yùn)行項(xiàng)目。
有別于將構(gòu)建結(jié)果放在與源碼相同的目錄渔彰,Cargo 會(huì)將其放到 target/debug 目錄嵌屎。
其實(shí),要在任何已存在的項(xiàng)目上工作時(shí)恍涂,可以使用如下命令通過(guò) Git 檢出代碼宝惰,移動(dòng)到該項(xiàng)目目錄并構(gòu)建:
$ git clone someurl.com/someproject
$ cd someproject
$ cargo build