簡明快速配置 Rust 工具鏈

ENG八戒發表於2023-09-20

以下內容為本人的學習筆記,如需要轉載,請宣告原文連結 微信公眾號「ENG八戒」https://mp.weixin.qq.com/s/dBzL9WZ8P1L1X9j_XkmNQg

你可能會為不同版本的工具鏈而煩惱,就算是 ruster 也一樣。介紹一個非常好用的管理工具給大夥,就是使用 Rustup 安裝和更新 Rust 工具鏈。安裝 Rustup 之後,可以在 stable, beta,和 nightly 等版本的 Rust 編譯器工具之間無縫切換。

寫本文的時候,Rust 程式語言的使用已經越來越流行,受到大量程式設計人員和企業的嘗試和偏好。Rust 受歡迎的原因之一是 Rust 提供的工具非常好用,對於開發人員來說,使用這些工具已經是一種享受。

Rustup 作為管理 Rust 工具的官方版本,它不僅可以用於安裝 Rust 並保持更新,還可以讓你在不同版本 Rust 編譯器和工具之間無縫切換。

Rustup 到底有那麼神奇嗎?下面就讓我來帶你走一遍 rustup 以及一些常用的操作指令。

預設安裝方法

如果你想在 Linux 上安裝 Rust,可以使用包管理器。在 Ubuntu 上的包管理器 apt

$ sudo apt-get install rustc cargo

這樣子安裝的是 Rust 工具鏈的穩定版本,非常適合 Rust 初學者和想要嘗試編譯和執行簡單的程式。其中,rustc 是 rust 的編譯器,cargo 是 rust 的包管理器。

但是,Rust 是一種較新的程式語言,它變化很快,並且經常更新升級,會發布許多新功能和特新。這些功能和特性會被放在 Rust 工具鏈的 nightly 和更新版本中。

在不影響系統已安裝的穩定版本情況下,如果又想嘗試新功能,必然需要安裝較新版本的工具鏈。不幸的是,大部分系統發行版的包管理器無法幫到做到這些。

那麼怎麼辦?且往下看!

使用 rustup

為了安裝 rustup,需要從官網下載指令碼檔案,使用常見的 curl 指令

$ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs > sh.rustup.rs

在執行安裝下載指令碼 sh.rustup.rs 之前,可以選擇把安裝源改到國內其中一個映象,方便加快速度。

export RUSTUP_DIST_SERVER=https://mirrors.ustc.edu.cn/rust-static

接著啟動下載安裝 rust 的指令碼 sh.rustup.rs,開始下載安裝

$ ./sh.rustup.rs
info: downloading installer
...

指令碼 sh.rustup.rs 會先下載必要的檔案,所以稍等片刻,然後出現提示時選擇選項 1:

1) Proceed with installation (default)
2) Customize installation
3) Cancel installation
> 1

安裝後,直接輸入檢視工具鏈版本的命令,你會發現終端提示還是無法找到對應命令

$ rustc -V
-bash: /usr/bin/rustc: No such file or directory
$ cargo -V
-bash: /usr/bin/rustc: No such file or directory

這時,你需要重啟命令終端,目的是重新載入環境變數和包含 cargo 的 bin 目錄。

但是我比較懶,所以直接手動配置環境變數以包含 cargo 的 bin 目錄

$ source $HOME/.cargo/env

這樣就可以開始使用 rust 工具鏈了

$ rustc -V
rustc 1.72.0 (5680fa18f 2023-08-23)
$ cargo -V
cargo 1.72.0 (103a7ff2e 2023-08-15)

檢視已安裝和生效的版本

使用 rustup 據說可以管理多個版本的 rust 工具鏈,那麼,當前哪一版的工具鏈是處於生效狀態呢?

使用以下命令檢視

$ rustup show
Default host: x86_64-unknown-linux-gnu
rustup home:  /home/user/.rustup

stable-x86_64-unknown-linux-gnu (default)
rustc 1.72.0 (5680fa18f 2023-08-23)

切換不同版本

安裝好 rustup 後可以根據需要進行更改 rust 目前生效的工具鏈。如果你當前使用的工具鏈是穩定版,並希望嘗試 nightly 版本中提供的新引入的功能,可以輕鬆切換到 nightly 版本中

$ rustup default
$ rustup default nightly

對應的,切換不同版本之後,如果需要檢視 Rust 編譯器和包管理器的確切路徑,可以

$ rustup which rustc
/home/user/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/rustc
$ rustup which cargo
/home/user/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/cargo

檢查和更新

簡單檢查一下發布源是否又新的 Rust 工具鏈可用:

$ rustup check

當你收到訊息有新的 Rust 的版本已釋出,並且有一些不錯的功能或者特性,怎麼獲取最新版本的 Rust?使用 update 子命令

$ rustup update

更多

上面簡單介紹了一些命令足以滿足日常使用,但是難免總有遺漏,rustup 還有很多命令可以挖掘,建議參考幫助部分了解更多詳細資訊

$ rustup --help

可能你會想知道是不是查詢詳細的指導資訊都得在網上搜尋?

告訴你一個好訊息,所有 Rust 文件都已經被 rustup 安裝在你的本地系統上了,並且是離線可用。你可以訪問本地文件,其中包括書籍、標準庫等:

$ rustup doc
$ rustup doc --book
$ rustup doc --std
$ rustup doc --cargo

當然,Rustup 在 GitHub 上也有一本完整的書,你可以將其用作參考。


Rust 正在快速發展中,是最近幾年最令人興奮的一門新興程式語言。如果你對程式設計的發展演化感興趣,歡迎關注我,一起學習交流!

相關文章