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