一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

使用rustup來管理所有和Rust相關(guān)的工具鏈

jf_wN0SrCdH ? 來源:浮之靜 ? 作者:lencx ? 2022-11-23 09:45 ? 次閱讀

安裝 Rust

在前端開發(fā)中,經(jīng)常會使用 nvm[2](或 nvm-windows[3])來管理系統(tǒng)上的 Node.js 版本。而在 Rust 中則是使用 rustup[4] 來管理所有和 Rust 相關(guān)的工具鏈,而且它們具有很多相似性:

cargo[5] - rust 版的 npm[6],Rust 的包管理器。

clippy[7] - rust 版的 eslint[8],檢查包以捕獲常見錯誤并改進你的 Rust 代碼。

rustfmt[9] - rust 版的 prettier[10],格式化當前 crate 的所有 bin 和 lib 文件。

crates.io[11] - rust 版 npm 包管理網(wǎng)站[12]。

macOS、Linux、以及類 Unix 系統(tǒng)安裝(如果是 Windows,請參考其他平臺安裝[13]):

$ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# 升級
$ rustup update

# 卸載
$ rustup self uninstall

版本檢查

使用 --version 會看到已發(fā)布的最新穩(wěn)定版本的版本號、提交哈希和提交日期,格式如下:

$ rustc --version
rustc 1.65.0 (897e37553 2022-11-02)

$ cargo --version
cargo 1.65.0 (4bc8f24d3 2022-10-20)

版本選擇

# 安裝 nightly (stable | beta | nightly |  | )
$ rustup toolchain install nightly
# 查看 Rust 工具鏈(toolchains, Rust 和其相關(guān)組件)
$ rustup toolchain list
stable-aarch64-apple-darwin
stable-x86_64-apple-darwin (default)
nightly-aarch64-apple-darwin
nightly-x86_64-apple-darwin
# 設(shè)置默認為 nightly(全局)
$ rustup default nightly
stable-aarch64-apple-darwin
stable-x86_64-apple-darwin
nightly-aarch64-apple-darwin
nightly-x86_64-apple-darwin (default)
# 覆蓋為 nightly(當前項目)
$ cd ~/projects/needs-nightly
$ rustup override set nightly
stable-aarch64-apple-darwin
stable-x86_64-apple-darwin (default)
nightly-aarch64-apple-darwin
nightly-x86_64-apple-darwin (override)

# 移除覆蓋(當前項目)
$ rustup override unset
stable-aarch64-apple-darwin
stable-x86_64-apple-darwin (default)
nightly-aarch64-apple-darwin
nightly-x86_64-apple-darwin

作為一種編程語言,Rust 既關(guān)心代碼的穩(wěn)定性(構(gòu)建堅如磐石應(yīng)用的基礎(chǔ)),也希望擁抱變化(試驗新的功能)。所以 Rust 遵循軟件發(fā)布序列模型,該模型已被 Cisco IOS 和其他軟件項目使用。Rust 有三個發(fā)布渠道(以 Rust 1.5 為例):

Nightly - 每天發(fā)布

Beta - 每周六發(fā)布

Stable - 穩(wěn)定版,每六周發(fā)布一次

nightly: * - - * - - * - - * - - * - - * - * - *
                     |                         |
beta:                * - - - - - - - - *       *
                                       |
stable:                                *

Rust 2-3 年會發(fā)布一次大版本:每個版本會結(jié)合已經(jīng)落地的功能,提供一個清晰的帶有完整更新文檔和工具的功能包。新版本會作為常規(guī)的六周發(fā)布過程的一部分發(fā)布。目前 Rust 已經(jīng)發(fā)布了三個大版本(Rust 2015、2018、2021),了解更多:

What are Editions?[14]

How Rust is Made and “Nightly Rust”[15]

安裝擴展

Cargo 插件

cargo edit[16] - 該工具擴展了 Cargo 以允許你通過從命令行修改 Cargo.toml 文件來添加、刪除和升級依賴項。

cargo-watch[17] - 是一種用于監(jiān)視基于 Cargo 的項目并在文件更改時運行命令的工具。它專注于 Rust 開發(fā)體驗,旨在足夠靈活以適應(yīng)大多數(shù)情況,而不會變得復雜。

cargo-deny[18] - 用于整理你的依賴項。

cargo-expand[19] - 顯示宏擴展結(jié)果的子命令。

cargo-fuzz[20] - 用于模糊測試的命令行助手。

cargo-generate[21] - 是一個開發(fā)人員工具,通過利用預先存在的 git 存儲庫作為模板,幫助你快速啟動和運行新的 Rust 項目。

cargo-chef[22] - 使用 Docker 層緩存加速 Rust Docker 構(gòu)建的 cargo 子命令。

cargo-release[23] - 關(guān)于釋放 rust crate 的所有內(nèi)容。

cargo-audit[24] - 審核你項目的依賴關(guān)系,以查找具有報告給 RustSec Advisory Database[25] 的安全漏洞的板條箱。

rustfix[26] - 自動應(yīng)用 rustc 提出的建議。

nextest[27] - Rust 的下一代測試運行器。

tarpaulin[28] - Rust 項目的代碼覆蓋工具。

瀏覽器插件

Rust Search Extension[29] - 直接在瀏覽器地址欄搜索文檔、crates、內(nèi)置屬性、官方文檔、錯誤代碼等。輸入關(guān)鍵字 rs 然后按空格鍵開始,就這么簡單!

VS Code 插件

rust-analyzer[30] - 插件提供了對 Rust 編程語言的支持。包含代碼提示,類型定義,代碼跳轉(zhuǎn)等等(注意:關(guān)于 rust 語法提示的插件只需要這一個就夠了)。

crates[31] - 是 crates.io 依賴項的插件。旨在幫助開發(fā)人員在使用 Cargo.toml 時管理依賴項,鼠標懸停 crate 名稱可以顯示可用版本列表。

CodeLLDB[32] - 由 LLDB 提供支持的本機調(diào)試器。調(diào)試 C++、Rust 和其他編譯語言。

Even Better TOML[33] - 功能齊全的 TOML 支持,如句法高亮,驗證,數(shù)組,對象折疊,JSON Schema[34] 等。

國內(nèi)鏡像

國內(nèi)網(wǎng)絡(luò)環(huán)境常常會導致依賴下載過慢或失敗。所以和 npm 國內(nèi)鏡像類似,Rust 也支持鏡像地址配置,常用的鏡像源有:

清華大學開源軟件鏡像站[35] - 清華大學開源軟件鏡像站,致力于為國內(nèi)和校內(nèi)用戶提供高質(zhì)量的開源軟件鏡像、Linux 鏡像源服務(wù),幫助用戶更方便地獲取開源軟件。本鏡像站由清華大學 TUNA 團隊負責維護。

中國科學技術(shù)大學開源軟件鏡像[36] - 是 Debian, Ubuntu, Fedora, Archlinux, CentOS 等多個發(fā)行版的官方源。目前是中國大陸高校訪問量最大,收錄最全的開源軟件鏡像。

上海交通大學 Linux 用戶組 軟件源鏡像服務(wù)[37]

RsProxy & Bytedance[38]

配置文件

$HOME/.cargo/config

# 官方
[source.crates-io]
registry = "https://github.com/rust-lang/crates.io-index"

# 替換成你偏好的鏡像源
replace-with = "sjtu"

# 清華大學
[source.tuna]
registry = "https://mirrors.tuna.tsinghua.edu.cn/git/crates.io-index.git"

# 中國科學技術(shù)大學
[source.ustc]
registry = "git://mirrors.ustc.edu.cn/crates.io-index"
# 如果所處環(huán)境不支持 git 協(xié)議,可以修改為:
# registry = "https://mirrors.ustc.edu.cn/crates.io-index"

# 上海交通大學
[source.sjtu]
registry = "https://mirrors.sjtug.sjtu.edu.cn/git/crates.io-index"




審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 編程語言
    +關(guān)注

    關(guān)注

    10

    文章

    1952

    瀏覽量

    35771
  • 調(diào)試器
    +關(guān)注

    關(guān)注

    1

    文章

    309

    瀏覽量

    24103
  • BIN文件
    +關(guān)注

    關(guān)注

    0

    文章

    26

    瀏覽量

    8542
  • Rust
    +關(guān)注

    關(guān)注

    1

    文章

    233

    瀏覽量

    6889

原文標題:Rust 在前端 - 環(huán)境配置

文章出處:【微信號:Rust語言中文社區(qū),微信公眾號:Rust語言中文社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    如何在Rust中連接和使用MySQL數(shù)據(jù)庫

    如何在Rust中連接和使用MySQL數(shù)據(jù)庫。 安裝 mysql 模塊 這里我們假設(shè)你已經(jīng)安裝了Rust編程語言工具,在本教程中,我們將使用 mysql crate
    的頭像 發(fā)表于 09-30 17:05 ?1962次閱讀

    什么是交叉編譯工具

    ,就不得不了解交叉編譯的相關(guān)問題。本文章中記錄了一下嵌入式linux所使用的交叉編譯工具相關(guān)基礎(chǔ)說明,幫助回顧一些基礎(chǔ)知識。一、什么是交叉編譯
    發(fā)表于 11-04 07:05

    RUST在嵌入式開發(fā)中的應(yīng)用是什么

    的文檔、有用的錯誤消息、友好編譯器、一流的工具,只是Rust的幾個好處。它帶有一個集成的包管理器和構(gòu)建工具,支持自動完成和類型檢查的智能多編輯器,一個自動格式化程序,等等。為什么在嵌入
    發(fā)表于 12-24 08:34

    如何在STM32 (Cortex M3)和GD32(RISC-V)上用Rust開發(fā)

    安裝 Rust 的時候暫且跳過 Visual Studio 也是完全沒有問題的 ;)如果安裝好 Rust 的開發(fā)環(huán)境,重啟一下控制臺,應(yīng)當能運行 rustup工具
    發(fā)表于 06-21 10:38

    【沁恒微CH32V307評估板試用體驗】探索Rust編程語言的嵌入式開發(fā)——基于CH32V307【1】

    ,文檔完善、編譯器提示有幫助,能節(jié)省軟件開發(fā)所需的時間。它能應(yīng)用在多個平臺和指令集中,這包括裸機平臺;處理核、操作系統(tǒng)廠家還可以提供自己的編譯目標,無需廠家自己重新開發(fā)、提供工具。本著學習至上的精神
    發(fā)表于 07-18 00:37

    大廠對Rust的態(tài)度,C++之父回應(yīng)

    不少開發(fā)者許多開發(fā)者都對 Rust 的過度宣傳感到反感,并表示不同的工具適合不同的問題,不要再過度宣傳某一種編程語言。Rust 很好,但它不是所有問題的解決方案。
    的頭像 發(fā)表于 09-22 11:25 ?1570次閱讀

    以調(diào)試Rust的方式學習Rust

    在我上一篇 關(guān)于 Rustup 的文章 中,我向你們展示了如何安裝 Rust 工具。但是,如果不能上手操作一下 Rust 的話下載
    的頭像 發(fā)表于 01-03 14:56 ?1061次閱讀

    Google在Chromium項目中支持使用Rust

    ]。所有包含 1.66.1 之前的 Cargo 的 Rust 版本都容易受到攻擊。 Rust 1.66.0 的補丁文件也可獲得,用于定制工具
    的頭像 發(fā)表于 01-16 10:52 ?1922次閱讀

    一個用Rust開發(fā)的壓測工具rsb

    一個用 Rust 開發(fā)的壓測工具,項目地址:rsb,給個 star 鼓勵下。
    的頭像 發(fā)表于 03-21 09:32 ?975次閱讀

    Rust 1.68.1發(fā)布修復了回歸問題

    rustup安裝了Rust,可以使用以下命令更新到1.68.1版本: rustup update stable 如何在2023年3月加速 Rust 編譯器 在“如何加速
    的頭像 發(fā)表于 03-27 14:43 ?594次閱讀

    Rustup出發(fā)看Rust編譯生態(tài)

    Rustup出發(fā)看Rust編譯生態(tài) 1. Rust和LLVM的關(guān)系是怎樣的? 2. Rustup中targets是什么,為什么可以安裝多個? 3.
    的頭像 發(fā)表于 01-02 11:00 ?708次閱讀

    [鴻蒙]OpenHarmony4.0的Rust開發(fā)

    背景 Rust 是一門靜態(tài)強類型語言,具有更安全的內(nèi)存管理、更好的運行性能、原生支持多線程開發(fā)等優(yōu)勢。Rust 官方也使用 Cargo 工具
    的頭像 發(fā)表于 02-26 17:28 ?1135次閱讀
    [鴻蒙]OpenHarmony4.0的<b class='flag-5'>Rust</b>開發(fā)

    如何用Rust編寫一個ChatGPT桌面應(yīng)用(保姆級教程)

    用IDEA開發(fā)的java仔) 安裝 Rust 語言工具:首先,請確保你已安裝了 Rust 編程語言工具
    的頭像 發(fā)表于 09-25 11:19 ?554次閱讀
    如何用<b class='flag-5'>Rust</b>編寫一個ChatGPT桌面應(yīng)用(保姆級教程)

    Android系統(tǒng)主板應(yīng)用配置默認獲取管理所有文件權(quán)限方法

    本文介紹Android系統(tǒng)主板應(yīng)用配置默認獲取管理所有文件權(quán)限方法,基于觸覺智能SBC3588行業(yè)主板演示,搭載了瑞芯微RK3588芯片,八核處理器,6T高算力NPU;音視頻接口、通信接口等各類接口
    的頭像 發(fā)表于 03-12 18:58 ?247次閱讀
    Android系統(tǒng)主板應(yīng)用配置默認獲取<b class='flag-5'>管理所有</b>文件權(quán)限方法

    基于SEGGER的Ozone調(diào)試器和J-Trace工具跟蹤Ferrocene的Rust應(yīng)用

    2025年3月,SEGGER和Ferrous Systems合作,確保使用Ferrous Systems的Ferrocene工具編譯的Rust應(yīng)用程序可以通過SEGGER的J-Trace工具
    的頭像 發(fā)表于 03-14 11:27 ?303次閱讀