rust 基本介紹請(qǐng)看上一篇文章:rust 介紹
rustup
介紹
rustup
是 Rust 語(yǔ)言的安裝器和版本管理工具。通過(guò) rustup
,可以輕松地安裝 Rust 編譯器(rustc
)、標(biāo)準(zhǔn)庫(kù)和文檔。它也允許你切換不同的 Rust 版本或目標(biāo)平臺(tái),以及管理多個(gè) Rust 版本。
安裝步驟
類 unix 操作系統(tǒng)
在類 Unix(MacOS, Ubuntu, Centos, …Linux)系統(tǒng)中, 打開終端執(zhí)行以下命令安裝 rustup
:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
執(zhí)行安裝后,將會(huì)下載并安裝 Rust 編程語(yǔ)言的官方編譯器。
安裝途中,會(huì)詢問你安裝配置,如果沒有特殊需求,我們輸入 1
使用默認(rèn)配置,并回車。
默認(rèn)配置及解釋如下:
-
default host triple:?
aarch64-unknown-linux-gnu
?是一個(gè)目標(biāo)三元組(target triple),用于指示編譯器目標(biāo)平臺(tái)的體系結(jié)構(gòu)、廠商、系統(tǒng)、和ABI(應(yīng)用程序二進(jìn)制接口)。這個(gè)配置告訴 Rust 編譯器為哪種類型的系統(tǒng)構(gòu)建代碼。 -
default toolchain: 默認(rèn)情況下,Rust 安裝程序會(huì)安裝?
stable
?版本的工具鏈。Rust 有幾個(gè)發(fā)布渠道:穩(wěn)定版(stable)、測(cè)試版(beta) 和 開發(fā)版(nightly)。穩(wěn)定版是經(jīng)過(guò)充分測(cè)試,隨時(shí)可用于生產(chǎn)環(huán)境的版。默認(rèn)使用穩(wěn)定版工具鏈?zhǔn)菫榱吮WC開發(fā)的穩(wěn)定性和代碼的可靠性。 -
profile:?
default
?配置文件會(huì)安裝 Rust 編程語(yǔ)言的常用組件,例如標(biāo)準(zhǔn)庫(kù)
、Cargo
和Rustfmt
。Rustup 提供了不同的配置文件,如?minimal
,它只安裝最必要的組件,或?complete
,它包含了所有可用的組件和工具。 -
modify PATH variable: Rust 安裝程序詢問是否要修改環(huán)境變量?
PATH
。同意修改?PATH
?會(huì)將 Rust 的可執(zhí)行文件路徑(如?cargo
、rustc
?等)添加到你的系統(tǒng)環(huán)境變量?PATH
?中。這樣做的目的是為了確保你可以在任何地方(比如在終端或命令行中)運(yùn)行 Rust 工具鏈的命令,無(wú)需指定完整的路徑。
接下來(lái),安裝程序?qū)?huì)安裝一系列 rust 工具鏈:
-
cargo: Cargo 是 Rust 的包管理工具,用于管理 Rust 項(xiàng)目的依賴、編譯和發(fā)布。它相當(dāng)于其他編程語(yǔ)言中的 npm、pip 等工具。Cargo通過(guò)
Cargo.toml
文件追蹤項(xiàng)目依賴,并且能夠處理項(xiàng)目的構(gòu)建、測(cè)試、文檔生成等任務(wù)。 - clippy: Clippy 是 Rust 的一種靜態(tài)分析工具(Linter),用于在代碼編寫階段發(fā)現(xiàn)常見錯(cuò)誤和改進(jìn)建議。它提供了許多l(xiāng)ints(規(guī)則),通過(guò)對(duì)代碼進(jìn)行分析,幫助提升代碼的質(zhì)量和性能。
- rust-docs: 這個(gè)組件包含了 Rust 編程語(yǔ)言的標(biāo)準(zhǔn)庫(kù)文檔。此文檔允許開發(fā)者離線閱讀和查找相關(guān)API的用法,是學(xué)習(xí)和參考Rust標(biāo)準(zhǔn)庫(kù)的重要資料。
- rust-std: 這是 Rust 的標(biāo)準(zhǔn)庫(kù)組件,包含了預(yù)編譯的Rust標(biāo)準(zhǔn)庫(kù),供目標(biāo)平臺(tái)使用。標(biāo)準(zhǔn)庫(kù)提供了很多編程基礎(chǔ)設(shè)施,如基本類型、標(biāo)準(zhǔn)宏、I/O操作、線程和并發(fā)控制工具等。
-
rustc: 這是 Rust 的編譯器,負(fù)責(zé)將 Rust 代碼編譯成機(jī)器代碼。
rustc
提供了編譯、鏈接等功能,是Rust程序開發(fā)的核心工具。 - rustfmt: Rustfmt 是一個(gè)代碼格式化工具,用來(lái)自動(dòng)格式化 Rust 代碼風(fēng)格。它通過(guò)重寫源代碼來(lái)保證代碼風(fēng)格一致,可讀性和風(fēng)格上的規(guī)范性,便于團(tuán)隊(duì)合作和項(xiàng)目維護(hù)。
安裝完成后,重啟終端或者執(zhí)行以下命令使其生效:
source "$HOME/.cargo/env"
windows 系統(tǒng)
直接點(diǎn)擊下載安裝程序:rustup-init.exe,或者根據(jù) https://rustup.rs/ 官網(wǎng)進(jìn)行下載。
雙擊安裝程序后,將會(huì)彈出小黑框,詢問你是否安裝了 C++ 構(gòu)建工具,這里輸入 y
跳過(guò)即可。
windows 后續(xù)安裝步驟與類 Unix 安裝基本一致,可以直接參考類 Unix 安裝部分。
驗(yàn)證安裝結(jié)果
安裝完成后,重新打開終端讓更改生效,驗(yàn)證安裝是否成功,運(yùn)行:
rustc --version
此命令顯示已安裝的 Rust 版本。
rustup 常用命令
1. 更新?rustup
?本身
rustup self update
2. 卸載 rustup
rustup self uninstall
3. 查看當(dāng)前已安裝的 Rust 版本
rustup show
4. rustup
檢查更新
rustup check
5. 更新到最新穩(wěn)定版
rustup update
cargo
介紹
cargo 是 Rust 的構(gòu)建工具和包管理器。使用 cargo,可以方便地創(chuàng)建新項(xiàng)目、構(gòu)建項(xiàng)目、運(yùn)行項(xiàng)目、測(cè)試項(xiàng)目,并且可以輕松地將你的Rust庫(kù)發(fā)布到?crates.io,Rust的包管理庫(kù)。
常用命令
1. 創(chuàng)建新項(xiàng)目
cargo new <project_name>
創(chuàng)建一個(gè)新的項(xiàng)目,會(huì)同時(shí)生成 Cargo.toml
配置文件與 src
目錄,如果是不是在 git
倉(cāng)庫(kù)下創(chuàng)建,將同時(shí)初始化為 git
倉(cāng)庫(kù)。
2. 構(gòu)建項(xiàng)目
cargo build
構(gòu)建項(xiàng)目,會(huì)在項(xiàng)目目錄下的?target/debug
?目錄生成可執(zhí)行文件或庫(kù)。
3. 構(gòu)建并運(yùn)行項(xiàng)目
cargo run
構(gòu)建并運(yùn)行 Rust 程序。
4. 運(yùn)行測(cè)試
cargo test
運(yùn)行項(xiàng)目中定義的測(cè)試函數(shù)。
5. 生成文檔
cargo doc
為項(xiàng)目構(gòu)建文檔,便于用戶了解庫(kù)的使用方法和功能。
6. 發(fā)布到 crates.io
cargo publish
將庫(kù)代碼打包并發(fā)布到?crates.io,允許其他人在他們的項(xiàng)目中作為依賴使用。
編輯器
得益于 Ferrous Systems 公司開源的 rust-analyzer
, 為許多代碼編輯器(VS Code、Emacs、Vim 等)都提供了代碼補(bǔ)全和跳轉(zhuǎn)定義等功能。
以下是一些常用的 Rust 開發(fā)編輯器:
-
VS Code : 需安裝
rust-analyzer
等插件 -
Sublime Text:需安裝
Rust Enhanced
等插件 - Zed: 高性能編輯器,自帶 Rust 開發(fā)環(huán)境
- RustRover: JetBrains 公司出的 Rust 專屬 IDE
-
Intellij IDEA:需安裝
Rust
插件,目前插件不再維護(hù)。
目前我本人在編寫 Rust 程序時(shí)在使用 Zed, 主要 Zed 編輯器目前比較干凈,沒有太多亂七八糟的東西,對(duì)于 Rust 更是開箱即用,比較推薦,當(dāng)然這個(gè)根據(jù)個(gè)人偏好自行選擇便是,實(shí)際區(qū)別不大。
常見問題
在添加新的 crate 到?Cargo.toml
?文件并運(yùn)行?cargo build
?時(shí),有時(shí)會(huì)遇到以下錯(cuò)誤:文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-829517.html
Blocking waiting for file lock on package cache
解決方法
這個(gè)問題通常是由于 cargo 嘗試訪問被鎖定的緩存文件導(dǎo)致的。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-829517.html
- 打開終端,進(jìn)入
~/.cargo
目錄, - 使用?
ls -a
?命令查看是否有?.package-cache
?文件。 - 如果存在,使用
rm
命令刪除該文件即可。
相關(guān)資料
- target triple: https://doc.rust-lang.org/nightly/rustc/platform-support.html
- rust 官網(wǎng):https://www.rust-lang.org/
- rustup 官網(wǎng):https://rustup.rs/
- rustup 安裝方法:https://forge.rust-lang.org/infra/other-installation-methods.html
- crates 官網(wǎng):https://crates.io/
- cargo 官方文檔:https://doc.rust-lang.org/cargo/index.html
到了這里,關(guān)于Rust 基本環(huán)境安裝的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!