新手入門

快速地設置 Rust 開發環境然後寫一支小程式!

安裝 Rust

您可以不用在電腦上安裝任何東西,先在 Rust Playground 線上試試 Rust。

不用安裝直接嘗試使用 Rust

Rustup:Rust 的安裝與版本管理工具

安裝 Rust 的主要途徑是透過 Rustup 這個工具,它是 Rust 用於安裝與版本管理的工具。

您的作業系統似乎是 macOS、Linux 或其他類 Unix 系統。請下載 Rustup 並安裝 Rust,然後在終端機執行以下指令,並遵循螢幕上的指示。

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

您似乎正在運行 Windows。欲使用 Rust,請下載安裝工具後,執行該程式並遵照螢幕上的指示。當看見相關提示時,您可能需要下載 Visual Studio C++ Build tools。若您並非使用 Windows,請參考「其他安裝方式」

Windows 的 Linux 子系統(WSL)

如果您是 Windows 的 Liunx 子系統(WSL)使用者,要安裝 Rust,請在終端機執行以下指令,並遵循螢幕上的指示。

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

如果您的作業系統是 Linux 或 macOS、WSL 等類 Unix 系統,要安裝 Rust,
請在終端機執行以下指令,並遵循螢幕上的指示。

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

如果您的電腦是 Windows 作業系統,
請下載並執行 rustup‑init.exe ,然後遵循螢幕上的指示。


Rust 是最新版的嗎?

Rust 時常更新,如果你在一段時間前安裝了 rustup ,有可能你的 Rust 版本已過時 ,執行 rustup update 以取得最新版的 Rust。


了解更多關於安裝事項

Cargo:Rust 的建置與套件管理工具

當您在安裝 Rustup 時,您也將安裝最新穩定版本的 Rust 建置與套件管理工具,稱之為 Cargo。Cargo 能做非常多事情:

  • cargo build 能建置您的專案
  • cargo run 能執行您的專案
  • cargo test 能測試您的專案
  • cargo doc 能為您的專案產生技術文件
  • cargo publish 能將函式庫發佈到 crates.io

您可以在您喜好的終端機上輸入以下命令檢查 Rust 與 Cargo 是否有安裝:

cargo --version

閱讀《Cargo 手冊》

其他工具

Rust 支援非常多編輯器:

產生新專案

讓我們來用我們全新的 Rust 開發環境寫一支小小的應用程式吧。首先我們要先用 Cargo 產生一個新的專案。請在您的終端機執行:

cargo new hello-rust

這會產生一個新的目錄叫作 hello-rust 並包含以下檔案:

hello-rust
|- Cargo.toml
|- src
  |- main.rs

Cargo.toml 是 Rust 的 manifest 檔案,它是保存專案 metadata 與相依套件資訊的地方。

src/main.rs 是我們要編寫程式碼的地方。


cargo new 會為我們產生一個「Hello, world!」的專案!我們可以移動到這個新的目錄並在我們的終端機上執行:

cargo run

您應該會在終端機上看到以下訊息:

$ cargo run
   Compiling hello-rust v0.1.0 (/Users/ag_dubs/rust/hello-rust)
    Finished dev [unoptimized + debuginfo] target(s) in 1.34s
     Running `target/debug/hello-rust`
Hello, world!

加入相依套件

現在來為我們的應用程式加上相依套件吧。您可以在 Rust 的套件倉儲 crates.io 找到各式各樣的函式庫。在 Rust 中,我們稱套件為「crates」。

在這個專案中,我們將使用一個叫作 ferris-says 的 crate。

請在我們的 Cargo.toml 檔案加入以下資訊(我們可以從 crate 頁面上取得):

[dependencies]
ferris-says = "0.3.1"

這樣我們就能執行:

cargo build

...Cargo 會幫我們下載我們的相依套件。

您會看到執行完此命令後產生了一個新的檔案 Cargo.lock。這個檔案會記錄我們本地端使用的相依套件確切版本。

要使用此相依套件,我們可以開啟 main.rs,移除所有的程式碼(這些只是範例而已)然後加上這行:

use ferris_says::say;

這行表示我們現在可以使用 ferris-says crate 匯出的 say 函式。

一支小小的 Rust 應用程式

現在讓我們來用新的相依套件寫一支小小的應用程式。請在我們的 main.rs 新增以下程式碼:

use ferris_says::say; // from the previous step
use std::io::{stdout, BufWriter};

fn main() {
    let stdout = stdout();
    let message = String::from("Hello fellow Rustaceans!");
    let width = message.chars().count();

    let mut writer = BufWriter::new(stdout.lock());
    say(&message, width, &mut writer).unwrap();
}

一旦儲存後,我們就可以輸入以下命令執行我們的應用程式:

cargo run

如果一切正常,您應該會看到您的應用程式顯示在螢幕上:

 __________________________
< Hello fellow Rustaceans! >
 --------------------------
        \
         \
            _~^~^~_
        \) /  o o  \ (/
          '_   -   _'
          / '-----' \

了解更多!

您現在也成為 Rustacean 的一員了!我們非常高興您的加入。當您準備好後,歡迎前往我們的學習頁面,您可以在那找到大量的書籍,能幫助您繼續您的 Rust 旅途。

了解更多!

這隻螃蟹是誰?Ferris?

Ferris 是隻 Rust 社群非官方的吉祥物,許多 Rust 程式設計師會自稱「Rustaceans」,因為這和「crustacean」相似。我們指名 Ferris 會用代名詞「they」、「them」等等,而不是帶有性別的代名詞。

Ferris 的名字近似於形容詞「ferrous」,含意與鐵有關。既然 Rust(銹)通常來自於鐵,我們認為這是個有趣的吉祥物名稱源由!

您可以在 rustacean.net 找到更多 Ferris 的圖片。 ferris 橫著行走的 gif