天天看點

Rust學習筆記(二):包管理工具和依賴管理

在現代程式設計語言中,包管理器是一個必不可少的工具,用于管理依賴項和建構項目。Rust是一門現代化的程式設計語言,它不僅提供了強類型、記憶體安全等特性,還提供了一個強大的包管理器——Cargo。在Rust中,使用Cargo可以友善地管理依賴項、建構、測試、文檔等操作。

在本篇學習筆記中,我将詳細介紹如何使用 Cargo 進行包管理和項目建構,以及如何配置和使用toml檔案來管理Rust項目。

安裝 Cargo

如果您已經安裝了 Rust 工具鍊,那麼 Cargo 已經自動安裝了。您可以在終端中輸入以下指令來驗證 Cargo 是否安裝成功:

cargo --version
cargo 1.67.1 (8ecd4f20a 2023-01-10)           

如果 Cargo 安裝成功,将輸出 Cargo 的版本資訊。

Cargo的基本使用

在Rust中,使用Cargo可以友善地管理依賴項、建構、測試、文檔等操作。下面我們将簡單介紹一下Cargo的基本使用方法。

初始化一個新項目

在使用Cargo之前,我們需要先建立一個新的Rust項目。在終端中,進入你要建立項目的目錄,并執行以下指令:

cargo new my_project           

這個指令将會建立一個名為my_project的新項目,并且自動生成一些預設的檔案和目錄結構。

建構項目

當我們完成了項目代碼的編寫後,可以使用Cargo來建構項目。在終端中,進入項目目錄,并執行以下指令:

cargo build           

這個指令将會建構項目,并生成一個可執行檔案。預設情況下,生成的可執行檔案位于target/debug目錄下。

運作項目

當我們完成了項目的建構後,可以使用Cargo來運作項目。在終端中,進入項目目錄,并執行以下指令:

cargo run           

這個指令将會運作項目,并輸出項目的運作結果。

測試項目

當我們完成了項目的編寫後,可以使用Cargo來測試項目。在終端中,進入項目目錄,并執行以下指令:

cargo test           

這個指令将會運作項目中的測試,并輸出測試結果。

建構項目文檔

在Rust中,我們可以使用注釋來編寫項目文檔。當我們完成了項目文檔的編寫後,可以使用Cargo來建構項目文檔。在終端中,進入項目目錄,并執行以下指令:

cargo doc           

這個指令将會建構項目文檔,并生成一個HTML格式的文檔。預設情況下,生成的文檔位于target/doc目錄下。

更新依賴項

在項目開發過程中,我們可能需要更新依賴項。在Cargo中,可以通過修改Cargo.toml檔案來更新依賴項。

首先,我們需要了解一下Cargo.toml檔案的結構。下面是一個簡單的例子:

[package]
name = "my_project"
version = "0.1.0"
authors = ["Your Name <[email protected]>"]

[dependencies]
rand = "0.8.0"           

在這個示例中,[package] 部分包含了項目的基本資訊,其中包含了一些關于項目的中繼資料,如名稱、版本和作者。[dependencies] 部分則列出了該項目所依賴的第三方庫Crate,本例中依賴庫為 rand,它的版本号是 0.8.0。在項目根目錄下運作 cargo build 指令後,Cargo 會自動下載下傳并安裝 rand 0.8.0 庫,然後進行編譯和建構。

除了從公共庫中下載下傳和使用依賴庫外,我們還可以使用本地路徑或 Git 位址來添加依賴庫。例如:

[dependencies]
my_crate = { path = "../my_crate" }
other_crate = { git = "https://github.com/other_crate.git", branch = "main" }           

在這個示例中,my_crate 依賴庫在本地路徑 ../my_crate 中,other_crate 依賴庫在遠端 Git 倉庫中的 main 分支上。

要更新依賴項,我們可以直接編輯Cargo.toml檔案,将依賴項的版本号更新到我們想要的版本号。例如,我們想将rand依賴項更新到最新版本,可以這樣做:

[dependencies]
rand = "0.8.4"           

這将rand依賴項更新到版本号為0.8.4的最新版本。然後我們需要在終端中進入項目的根目錄,并運作以下指令:

cargo update           

這将更新所有依賴項到最新版本。注意,Cargo隻會更新依賴項的版本号,而不會更新依賴項的代碼。

另外,如果我們想更新某個特定的依賴項,可以在終端中進入項目的根目錄,并運作以下指令:

cargo update --package rand           

這将隻更新rand依賴項到最新版本。

總的來說,Cargo提供了一種簡單、友善的方法來管理Rust項目中的依賴項,我們隻需要在Cargo.toml檔案中列出所需的依賴項,然後運作cargo build或cargo run指令來安裝和建構它們。當需要更新依賴項時,隻需要更新Cargo.toml檔案中的版本号,并運作cargo update指令即可。

今天,我們主要學習了 Rust 中的包管理器 cargo 和配置檔案格式 toml。在下一篇學習筆記中,我們将繼續深入了解 Rust 的基本資料類型和變量。同時,我也會持續更新關于 Rust 的學習筆記“Rust學習筆記(三):基本資料類型和變量”。

繼續閱讀