Day 7:Cargo.toml 與依賴管理

學習目標

  • 讀懂 Cargo.toml 的結構
  • 會加入並使用第三方 crate
  • 理解版本號與 features

今日重點

Cargo.toml 結構

[package]
name = "hello-rust"
version = "0.1.0"
edition = "2021"

[dependencies]
serde = { version = "1.0", features = ["derive"] }
tokio = { version = "1", features = ["full"] }

[dev-dependencies]
assert_cmd = "2.0"

區塊說明

  • [package]:專案本身資訊
  • [dependencies]:正式依賴(執行時需要)
  • [dev-dependencies]:開發/測試用依賴(測試、bench)
  • edition:Rust 版本語法規範(2015 / 2018 / 2021)

加入依賴的三種方式

cargo add serde          # 方式一(推薦)
cargo add rand --dev     # 加入 dev-dependencies
cargo add regex@1        # 指定版本

也可手動寫進 Cargo.toml,再 cargo build 自動下載。

version 與 features

  • version = "1.0":向下相容的版本範圍
  • features = ["derive"]:開啟該 crate 的選用功能
  • [dev-dependencies] 專放測試工具

練習

  1. cargo add colored 加入彩色輸出 crate,然後試著用 colored::Colorize 印彩色文字。
  2. cargo add rand 加入隨機數 crate,產生一個隨機數字。
  3. cargo add serde --features derive 加上序列化支援。

自我檢查

  • 能理解 Cargo.toml 的三個主要區塊
  • 會用 cargo add 加依賴
  • 知道 dependencies 與 dev-dependencies 的差別
  • 知道 features 是做什麼的

週總結

本週你完成了:認識 Rust → 安裝環境 → 建立第一個專案 → 熟悉 Cargo 指令與專案結構。 下一週開始學習 Rust 語言本身的基本語法。