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配置內容將另外說明;