Cargo 是 Rust 的構建系統和包管理工具,同時 Rustacean 們使用 Cargo 來管理它們的 Rust 項目。Cargo 負責三個工作:構建你的代碼,下載你代碼依賴的庫並編譯這
些庫。我們把你代碼需要的庫叫做“依賴(dependencies)”因為你的代碼依賴他們。
官方安裝包的話,Rust 自帶 Cargo
Cargo安裝
rust官方安裝包自帶Cargo,在終端檢查你是否安裝了 Cargo:
cargo --version
Cargo工程創建
1、創建工程目錄(例如/home目錄下創建)
mkdir projects
2、進入/home/projects目錄,然后新建Cargo工程
cd /home/projects/ cargo new hello_world --bin
這個命令傳遞了 --bin 參數因為我們的目標是直接創建一個可執行程序,而不是一個庫。Cargo 為我們創建了兩個文件和一個目錄:一個 Cargo.toml (該文件首字母C 必須大寫,同時該文件必須與src放置於同級目錄,否則運行報錯) 和一個包含了 main.rs 文件的 src 目錄。
關於Cargo.toml:確保 Cargo.toml 的 C 是大寫的,否則 Cargo 不知道如何處理配置文件。這個文件使用TOML(Tom's Obvious, Minimal Language)格式。 TOML 類似於INI,不過有一些額外的改進之處,並且被用作 Cargo 的配置文件。
3、編譯(cargo build)
#cd hello_world/ #cargo build Compiling hello_world v0.1.0 (/home/projects/hello_world) Finished dev [unoptimized + debuginfo] target(s) in 0.43s
4、運行(cargo run)
# cargo run Finished dev [unoptimized + debuginfo] target(s) in 0.02s Running `target/debug/hello_world` Hello, world!
5、發布構建(cargo build --release )
你的項目准備好發布了,可以使用 cargo build --release 來優化編譯項目。這些優化可以讓 Rust 代碼運行的更快,不過啟用他們會讓程序花更長的時間編譯。這也是為何這是兩種不同的配置,一個為了開發,另一個構建提供給用戶的最終程序。
# 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配置內容將另外說明;