Rust cargo 命令行工具使用示例教程
簡(jiǎn)介
cargo 是 Rust 的構(gòu)建系統(tǒng)和包管理器,負(fù)責(zé)創(chuàng)建項(xiàng)目、編譯代碼、管理依賴(lài)、運(yùn)行測(cè)試等,是日常開(kāi)發(fā)中最常用的工具。
創(chuàng)建項(xiàng)目
cargo new project_name # 創(chuàng)建 binary 項(xiàng)目(可執(zhí)行) cargo new --lib mylib # 創(chuàng)建 library 項(xiàng)目(供其它項(xiàng)目調(diào)用)
它會(huì)創(chuàng)建一個(gè)項(xiàng)目結(jié)構(gòu):
project_name/
├── Cargo.toml # 項(xiàng)目信息和依賴(lài)配置
└── src/
└── main.rs # 項(xiàng)目主入口(lib.rs 對(duì)于庫(kù))項(xiàng)目結(jié)構(gòu)和配置文件
Cargo.toml 是項(xiàng)目的核心配置文件,類(lèi)似于 Java 的 pom.xml 或 Node.js 的 package.json:
[package] name = "my_project" version = "0.1.0" edition = "2025" [dependencies] rand = "0.8" # 添加依賴(lài)
常用命令
編譯項(xiàng)目
cargo build # 構(gòu)建項(xiàng)目(debug 模式) cargo build --release # 構(gòu)建 release 模式(優(yōu)化)
運(yùn)行項(xiàng)目
cargo run
帶參數(shù)運(yùn)行
cargo run -- arg1 arg2
檢查語(yǔ)法和錯(cuò)誤(不編譯生成目標(biāo)文件)
cargo check
添加依賴(lài)包
cargo add serde # 需要安裝 cargo-edit 插件
安裝 cargo-edit:
cargo install cargo-edit
依賴(lài)管理
在 Cargo.toml 中手動(dòng)添加:
[dependencies]
serde = "1.0"
reqwest = { version = "0.11", features = ["json"] }添加本地 crate:
[dependencies]
mycrate = { path = "../mycrate" }添加 Git 倉(cāng)庫(kù)依賴(lài):
[dependencies]
mycrate = { git = "https://github.com/user/mycrate.git" }測(cè)試 & 文檔
測(cè)試
cargo test
生成文檔
cargo doc --open
發(fā)布 Crate 到 crates.io
cargo login # 登錄 crates.io(需要 token) cargo publish # 發(fā)布 cargo package # 打包并檢查
構(gòu)建配置與工作區(qū)(workspace)
如果有多個(gè) crate 項(xiàng)目組成一個(gè)工程:
根目錄 Cargo.toml 配置:
[workspace]
members = [
"core",
"utils",
"web"
]常用 cargo 插件
cargo install cargo-edit # 管理依賴(lài)(cargo add/remove/etc) cargo install cargo-watch # 自動(dòng)監(jiān)控并重編譯 cargo install cargo-audit # 審計(jì)安全問(wèn)題 cargo install cargo-outdated # 查看依賴(lài)是否過(guò)期
命令速查表
cargo new: 創(chuàng)建項(xiàng)目cargo build:編譯項(xiàng)目cargo run:編譯并運(yùn)行cargo check:檢查代碼是否可編譯cargo test:運(yùn)行測(cè)試cargo doc --open:生成并打開(kāi)文檔cargo add xxx:添加依賴(lài)(需插件)cargo update:更新依賴(lài)到最新版本cargo clean:清理構(gòu)建產(chǎn)物cargo install:安裝二進(jìn)制crate(如ripgrep)
到此這篇關(guān)于Rust cargo 命令行工具使用教程的文章就介紹到這了,更多相關(guān)Rust cargo 命令行工具內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
關(guān)于使用rust調(diào)用c++靜態(tài)庫(kù)并編譯nodejs包的問(wèn)題
這篇文章主要介紹了使用rust調(diào)用c++靜態(tài)庫(kù)并編譯nodejs包的問(wèn)題,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-08-08
Rust中GUI庫(kù)egui的簡(jiǎn)單應(yīng)用指南
egui(發(fā)音為“e-gooey”)是一個(gè)簡(jiǎn)單、快速且高度可移植的 Rust 即時(shí)模式 GUI 庫(kù),跨平臺(tái)、Rust原生,適合一些小工具和游戲引擎GUI,下面就跟隨小編一起來(lái)看看它的具體使用吧2024-03-03
使用win10 wsl子系統(tǒng)如何將 rust 程序靜態(tài)編譯為linux可執(zhí)行文件
這篇文章主要介紹了使用win10 wsl子系統(tǒng)如何將 rust 程序靜態(tài)編譯為linux可執(zhí)行文件,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2025-05-05
詳解Rust編程中的共享狀態(tài)并發(fā)執(zhí)行
雖然消息傳遞是一個(gè)很好的處理并發(fā)的方式,但并不是唯一一個(gè),另一種方式是讓多個(gè)線(xiàn)程擁有相同的共享數(shù)據(jù),本文給大家介紹Rust編程中的共享狀態(tài)并發(fā)執(zhí)行,感興趣的朋友一起看看吧2023-11-11
Rust 中的 Tokio 線(xiàn)程同步機(jī)制詳解
Rust中的Tokio提供了多種線(xiàn)程同步機(jī)制,包括互斥鎖、讀寫(xiě)鎖、屏障、信號(hào)量、通知及消息通道,用于協(xié)調(diào)并發(fā)訪(fǎng)問(wèn)、資源共享和狀態(tài)同步,提升程序的安全性和效率,本文給大家介紹Rust中的Tokio線(xiàn)程同步機(jī)制,感興趣的朋友一起看看吧2025-09-09
rust語(yǔ)言基礎(chǔ)pub關(guān)鍵字及Some語(yǔ)法示例
這篇文章主要為大家介紹了rust語(yǔ)言基礎(chǔ)pub關(guān)鍵字及Some語(yǔ)法示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-07-07

