【Rust 精進之路之第2篇-初體驗】安裝、配置與 Hello Cargo:踏出 Rust 開發第一步

系列: Rust 精進之路:構建可靠、高效軟件的底層邏輯
**作者:**碼覺客
發布日期: 2025-04-20

引言:磨刀不誤砍柴工,裝備先行!

在上一篇文章中,我們一起探索了 Rust 誕生的緣由,理解了它為何能承諾給我們一個既安全又高性能的編程世界。相信你已經對 Rust 的潛力充滿了期待,迫不及待想要親手敲下第一行 Rust 代碼了吧?

別急,正所謂“磨刀不誤砍柴工”。在正式開始我們的 Rust 編程之旅前,我們需要先準備好一套稱手的“兵器”——也就是安裝 Rust 開發環境,并配置好能讓我們事半功倍的編輯器。這一步至關重要,一個順暢的開發環境能極大提升我們學習和開發的幸福感。

這篇文章,就是你的“新手裝備指南”。我們將手把手帶你完成 Rust 的安裝,推薦并配置一個強大的代碼編輯器,然后創建并運行你的第一個 Rust 程序——經典的 “Hello, world!”。更重要的是,我們還會認識 Rust 生態系統的“大管家”——Cargo,它是你未來項目中不可或缺的得力助手。

準備好了嗎?讓我們一起動手,為探索 Rust 的奇妙世界打下堅實的基礎!

一、神兵利器:安裝 Rust 工具鏈管理器 rustup

安裝 Rust 的方式有很多種,但官方強烈推薦使用 rustup 這個工具。把它想象成你的 Rust “武器庫管理員”,它不僅能幫你輕松安裝 Rust 編譯器 (rustc)、包管理器 (cargo)、標準庫等核心組件,還能讓你方便地管理不同的 Rust 版本(比如穩定版、測試版、開發版),以及安裝額外的工具鏈組件(比如用于交叉編譯的目標平臺支持)。

為什么一定要用 rustup

  • 省心省力: 一條命令搞定所有核心工具的安裝和配置。
  • 版本管理: 輕松切換和更新 Rust 版本,保持與時俱進。
  • 組件管理: 按需安裝額外的編譯目標或工具(如 clippy 代碼檢查器、rustfmt 格式化工具)。
  • 跨平臺一致性: 無論你在 Windows, macOS, 還是 Linux 上,安裝和管理方式都基本一致。

安裝步驟:

  1. 打開你的終端(Terminal)或命令提示符(Command Prompt)。

  2. 訪問 Rust 官方網站的安裝頁面: https://www.rust-lang.org/tools/install

  3. 復制并執行頁面上提供的安裝命令。

    • 對于 macOS 和 Linux 用戶,通常是類似這樣的命令 (請以官網為準):
      curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
      
    • 對于 Windows 用戶,官網會提供一個 .exe 下載鏈接,下載后運行即可。安裝過程中,通常會推薦你安裝 Visual Studio C++ build tools,這是編譯 Rust 代碼所必需的,請按照提示進行安裝。
  4. 按照安裝程序的提示進行操作。 通常直接選擇默認選項(選項 1)即可。安裝程序會自動配置好你的系統環境變量(PATH)。

  5. 安裝完成后,根據提示重新打開一個新的終端窗口,或者運行提示中的命令來使環境變量生效。

  6. 驗證安裝: 在新的終端窗口中輸入以下命令:

    rustc --version
    cargo --version
    

    如果能看到類似 rustc x.y.z (hash date)cargo x.y.z (hash date) 的輸出(版本號可能不同),如下圖所示,那么恭喜你,Rust 環境已經成功安裝!
    在這里插入圖片描述

小提示:

  • rustup 會默認安裝 stable(穩定)版本的 Rust。對于學習和大多數開發來說,穩定版是最佳選擇。
  • 以后想更新 Rust 到最新穩定版,只需在終端運行 rustup update 即可。

二、利刃出鞘:配置你的代碼編輯器 (VS Code + rust-analyzer)

有了 Rust 工具鏈,我們還需要一個強大的代碼編輯器來提升編碼體驗。雖然理論上你可以用任何文本編輯器寫 Rust 代碼,但一個配置了良好 Rust 支持的現代編輯器能提供語法高亮、代碼補全、實時錯誤檢查、代碼跳轉、重構等諸多便利功能,極大提高你的開發效率和代碼質量。

目前,Visual Studio Code (VS Code) 配合 rust-analyzer 擴展是 Rust 社區最流行、也是官方推薦的組合。

為什么推薦這個組合?

  • VS Code: 免費、開源、跨平臺,擁有龐大的擴展生態系統。
  • rust-analyzer: 由 Rust 官方團隊維護,提供極其快速和準確的代碼分析、補全、錯誤提示、類型推斷顯示、代碼跳轉、重構支持等。它能讓你在寫代碼的時候就感受到 Rust 編譯器的“實時反饋”。

配置步驟:

  1. 安裝 VS Code: 如果你還沒有安裝,請前往 VS Code 官網 (https://code.visualstudio.com/) 下載并安裝適合你操作系統的版本。
  2. 安裝 rust-analyzer 擴展:
    • 打開 VS Code。
    • 點擊側邊欄的“擴展”圖標(像四個方塊的那個)。
    • 在搜索框中輸入 rust-analyzer
    • 找到官方發布的 rust-analyzer 擴展 (通常是第一個,發布者顯示為 rust-lang)。
    • 點擊“安裝”按鈕。

安裝完成后,rust-analyzer 會在后臺自動工作。當你打開 Rust 項目(.rs 文件)時,它就會開始分析代碼,并提供各種智能提示。你馬上就能體驗到它的強大之處!

注意: 如果你之前安裝過其他的 Rust 擴展(比如舊的 RustyCode),建議禁用或卸載它們,以避免沖突。

三、開工大吉:你的第一個 Rust 項目 “Hello, world!” 與 Cargo 初識

裝備齊全,是時候建造我們的第一個“作品”了!在 Rust 的世界里,我們不推薦直接創建一個孤零零的 .rs 文件然后用 rustc 手動編譯。標準的做法是使用 Rust 的構建系統和包管理器——Cargo 來創建和管理項目。

Cargo 是什么? 把它想象成你項目的“總工程師”兼“后勤部長”。它負責:

  • 創建項目骨架: 一條命令生成標準的項目目錄結構。
  • 構建代碼: 調用 rustc 編譯器將你的源代碼編譯成可執行文件或庫。
  • 管理依賴: 幫你下載并鏈接項目所需的第三方庫(稱為 “crates”)。
  • 運行項目: 方便地編譯并執行你的程序。
  • 運行測試: 集成測試框架,方便你編寫和運行測試用例。
  • 發布庫: 將你寫的庫發布到 Rust 的中央倉庫 crates.io,供他人使用。
  • 還有更多…

總之,Cargo 是 Rust 開發體驗的核心部分,它極大地簡化了項目的構建、管理和協作。

創建你的第一個項目:

  1. 打開終端。

  2. cd 到你希望存放代碼的目錄下。

  3. 運行以下命令來創建一個名為 hello_rust 的新項目:

    cargo new hello_rust
    
  4. Cargo 會自動為你生成一個目錄結構:

    hello_rust/
    ├── Cargo.toml  # 項目的配置文件(清單文件)
    └── src/        # 源代碼目錄└── main.rs # 主程序入口文件
    
    • Cargo.toml: 這是 Cargo 的清單 (Manifest) 文件,采用 TOML 格式。它包含了項目的元數據(如項目名稱、版本、作者)和依賴列表。現在你可以打開看看,內容很簡單,后面我們會詳細了解它。把它想象成項目的“身份證”和“配方單”。
    • src/main.rs: 這是項目的源代碼根文件。對于一個可執行程序(像我們這個),main.rs 是程序的入口點。
  5. 進入項目目錄:

    cd hello_rust
    
  6. 用 VS Code 打開這個項目:
    在終端里輸入 code . (注意有個點,表示當前目錄) 并回車,VS Code 就會打開 hello_rust 這個文件夾。

  7. 查看 src/main.rs 文件:
    打開 src/main.rs,你會看到 Cargo 已經為我們生成了經典的代碼:

    // main 函數是每個可執行 Rust 程序的入口點
    fn main() {// println! 是一個宏 (macro),用于將文本打印到控制臺// 注意有個感嘆號 "!",這表明它是一個宏調用,而不是普通的函數調用// 我們后面會詳細學習宏println!("Hello, world!");
    }
    

    是不是很簡單?fn main() 定義了一個名為 main 的函數,它是程序的起點。println!("Hello, world!"); 這行代碼調用了 println! 宏,把字符串 “Hello, world!” 輸出到屏幕上。

運行你的第一個程序:

現在,激動人心的時刻到了!我們有三種常用的方式來編譯和運行這個程序,都在終端的 hello_rust 目錄下執行:

  1. cargo build:只編譯,不運行

    cargo build
    

    Cargo 會調用 rustc 編譯器,將 src/main.rs 編譯成可執行文件。

    • 編譯成功后,你會在項目根目錄下發現一個 target 目錄。編譯產物默認放在 target/debug/ 目錄下(因為是調試構建)。你可以找到一個名為 hello_rust (或 hello_rust.exe 在 Windows 上) 的可執行文件。
    • 你可以直接運行這個文件:在 Linux/macOS 上是 ./target/debug/hello_rust,在 Windows 上是 .\target\debug\hello_rust.exe。你會看到輸出 “Hello, world!”。
    • cargo build 適合只需要編譯檢查或者想手動運行產物的場景。
  2. cargo run:編譯并立即運行

    cargo run
    

    這是開發中最常用的命令。它會先執行 cargo build 的過程(如果代碼有改動或尚未編譯),然后立即運行生成的可執行文件。你會直接在終端看到 “Hello, world!” 的輸出。一步到位,非常方便。

  3. cargo check:快速檢查代碼,不生成可執行文件

    cargo check
    

    這個命令非常有用!它會快速檢查你的代碼,確保它能夠通過編譯器的語法和類型檢查,但它不會花費時間去實際生成可執行文件

    • 優點: 速度比 cargo buildcargo run 快得多!
    • 用途: 在你編碼過程中,可以頻繁運行 cargo check 來快速驗證代碼的正確性,獲得即時反饋,就像代碼的“拼寫檢查”一樣。

恭喜你!你已經成功安裝了 Rust 環境,配置了編輯器,并使用 Cargo 創建、編譯、運行了你的第一個 Rust 程序!

四、初窺門徑:Cargo 的冰山一角

我們今天只是簡單接觸了 cargo new, build, run, check 這幾個基本命令,但這僅僅是 Cargo 強大功能的冰山一角。在后續的學習中,我們會逐漸解鎖 Cargo 的更多技能,比如:

  • 添加和管理第三方庫依賴(dependencies
  • 運行單元測試和集成測試(cargo test
  • 生成文檔(cargo doc
  • 構建發布版本(cargo build --release
  • 將你的庫發布到 crates.io(cargo publish

可以說,掌握 Cargo 是成為一名合格 Rust 開發者的必經之路。

五、常見問題解答 (FAQ)

  • Q1: 我可以不用 rustup,直接去官網下載安裝包嗎?
    • A: 技術上可以,但強烈不推薦。rustup 提供了無縫的版本管理和組件管理能力,這對于長期開發和跟進 Rust 的快速迭代至關重要。使用 rustup 是社區的最佳實踐。
  • Q2: 我不喜歡 VS Code,可以用其他編輯器嗎?
    • A: 當然可以!很多流行的編輯器都有不錯的 Rust 支持,例如:IntelliJ IDEA (配合 Rust 插件), Sublime Text, Vim/Neovim (配合相應插件), Emacs 等。關鍵是確保你使用的插件提供了良好的 rust-analyzer 集成或類似的代碼分析能力。
  • Q3: cargo buildcargo run 有什么本質區別?
    • A: cargo build 只負責編譯源代碼生成目標文件(比如可執行文件),然后就結束了。cargo run 則是在 build 的基礎上,額外幫你把生成的可執行文件運行起來。你可以認為 cargo run = cargo build + run a.out (簡化理解)。
  • Q4: 為什么 println! 后面有個感嘆號 !
    • A: 這是 Rust 中 宏 (Macro) 調用的標志。宏有點像“代碼的代碼”,它能在編譯時生成或轉換代碼。println! 是一個非常常用的宏,用于輸出信息到控制臺。我們后面會有專門的章節深入學習宏,現在你只需要知道帶 ! 的通常是宏調用,用法和函數類似即可。

總結:邁出堅實的第一步

今天,我們完成了從零開始搭建 Rust 開發環境的整個過程:

  1. 使用 rustup 安裝了 Rust 工具鏈。
  2. 配置了 VS Code 和 rust-analyzer,為高效編碼做好了準備。
  3. 通過 cargo new 創建了標準的 Rust 項目結構。
  4. 理解并運行了第一個 “Hello, world!” 程序。
  5. 初步認識了強大的構建工具和包管理器 Cargo,并掌握了 build, run, check 三個核心命令。

這看似簡單的一步,其實是你 Rust 學習旅程中至關重要的基礎。一個順暢的開發環境和對核心工具的基本了解,將為后續更深入的學習掃清障礙。

現在,你的“裝備”已經準備就緒,基本的“操作”也已熟悉。在下一篇文章中,我們將正式開始學習 Rust 的核心語法:變量、數據類型以及它們在 Rust 中獨特的“哲學”——可變性與遮蔽。準備好迎接更多有趣的知識吧!

繼續前進,探索 Rust 的無限可能!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/902215.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/902215.shtml
英文地址,請注明出處:http://en.pswp.cn/news/902215.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【深度學習】計算機視覺(17)——ViT理解與應用

文章目錄 Embedding1 概念2 Q&A (1)3 Positional Encoding4 Q&A (2) ViT樣例及Embedding可視化理解1 簡化ViT練習2 CLS Token3 Embedding可視化4 多頭注意力可視化 Embedding技術體系結構參考來源 在研究中對特征的編碼和…

肖特基二極管詳解:原理、作用、應用與選型要點

一、肖特基二極管的基本定義 肖特基二極管(Schottky Diode) 是一種基于金屬-半導體結(肖特基勢壘)的二極管,其核心特性是低正向壓降(Vf≈0.3V)和超快開關速度。 結構特點:陽極采用金…

DeepSeek在數據倉庫的10大應用場景

一、智能數據集成與清洗 多源數據整合:DeepSeek能夠從多種數據源中提取、轉換和加載數據,實現跨系統數據的高效整合。 數據清洗與標準化:通過智能算法自動識別并糾正數據中的錯誤、不一致性和缺失值,提升數據質量。 二、數據倉…

提示詞構成要素對大語言模型跨模態內容生成質量的影響

提示詞構成要素對大語言模型跨模態內容生成質量的影響 提示詞清晰度、具象性與質量正相關 限定指向性要素優于引導指向性要素 大語言模型生成內容保真度偏差 以訊飛星火大模型為實驗平臺,選取100名具備技術素養的人員,從提示詞分類、構成要素和實踐原則歸納出7種提示詞組…

BeautifulSoup 庫的使用——python爬蟲

文章目錄 寫在前面python 爬蟲BeautifulSoup庫是什么BeautifulSoup的安裝解析器對比BeautifulSoup的使用BeautifulSoup 庫中的4種類獲取標簽獲取指定標簽獲取標簽的的子標簽獲取標簽的的父標簽(上行遍歷)獲取標簽的兄弟標簽(平行遍歷)獲取注釋根據條件查找標簽根據CSS選擇器查找…

關于MacOS使用Homebrew的詳細介紹

Homebrew 是 macOS(和 Linux)上最流行的包管理工具(Package Manager),用于快速安裝、更新和管理各種開發工具、命令行程序、開源軟件等。它類似于: Ubuntu/Debian 的 aptCentOS/RHEL 的 yumWindows 的 Cho…

最新扣子空間實操指南

一、首先要先獲取到內部測試的邀請碼, 我們先打開扣子空間官網:https://space.coze.cn/ 輸入邀請碼后進入該頁面: 它這里支持文件上傳,擴展里面有很多插件,頁支持MCP各種插件. 探索模式有兩種,一種是ai自…

ubuntu22.04安裝dukto

1.添加源 sudo add-apt-repository ppa:xuzhen666/dukto2.進行更新和安裝 sudo apt update sudo apt install dukto3.報錯 $ sudo apt install dukto 正在讀取軟件包列表... 完成 正在分析軟件包的依賴關系樹... 完成 正在讀取狀態信息... 完成 您也許需要…

Java編程基礎(第四篇:字符串初次介紹)

前言 HelloWorld寫的多了,語法熟悉一點了吧,其中有段代碼還沒介紹,它就是字符串 public class HelloWorld { public static void main(String[] args) { printBaby(); } static void printBaby() { System.out.print("baby"); } } …

安卓手機怎樣配置數據加速

利用系統自帶功能: 選擇網絡模式:進入手機 “設置”,找到 “網絡” 或 “移動網絡” 選項,點擊 “高級設置”,選擇合適的網絡模式,如優先選擇 4G 或 5G 網絡,以獲得更快的速度。開啟網絡加速功能…

Day3:個人中心頁面布局前端項目uniapp壁紙實戰

接下來我們來弄一下個人中心頁面布局user.vue <template><view class"userLayout"><view class"userInfo"><view class"avatar"><image src"../../static/Kx.jpg" mode"aspectFill"></im…

線性回歸之正則化(regularization)

文章目錄 機器學習中的"防過擬合神器"&#xff1a;正則化全解析1. 正則化&#xff1a;不只是"規矩"那么簡單1.1 魯棒性案例說明 2. L1正則化&#xff1a;冷酷的特征選擇器3. L2正則化&#xff1a;溫柔的約束者4. L1 vs L2&#xff1a;兄弟間的較量5. 正則化…

mapbox基礎,加載視頻到地圖

????? 主頁: gis分享者 ????? 感謝各位大佬 點贊?? 收藏? 留言?? 加關注?! ????? 收錄于專欄:mapbox 從入門到精通 文章目錄 一、??前言1.1 ??mapboxgl.Map 地圖對象1.2 ??mapboxgl.Map style屬性1.3 ??raster 柵格圖層 api二、??加載視頻到…

Linux系統的遠程終端登錄、遠程圖形桌面訪問、 X圖形窗口訪問

目錄 一、配置Ubuntu系統的網絡和用戶 1、設置虛擬機網絡為橋接模式 2.查看當前ip、子網掩碼、網關 3.修改配置文件 二、遠程終端登錄Ubuntu 三、使用XShell遠程連接 1、確保SSH服務已啟動 2、檢查SSH服務狀態 3、獲取樹莓派IP地址 4、Xming安裝好之后打開讓它在后臺…

多模態大語言模型arxiv論文略讀(三十一)

From GPT-4 to Gemini and Beyond: Assessing the Landscape of MLLMs on Generalizability, Trustworthiness and Causality through Four Modalities ?? 論文標題&#xff1a;From GPT-4 to Gemini and Beyond: Assessing the Landscape of MLLMs on Generalizability, Tr…

基于Matlab求解矩陣電容等效容值

1需求 仿真測試8*10階舉證電容等效容值。 2模型搭建 2.1打開simscape 在打開simulink之后打開simscape庫&#xff0c;Simscape庫位置如下 2.2搭建模型 在庫中尋找需要的元件搭建電路。 2.2.1基本元件 電阻電容電感等基礎器件&#xff0c;搭建電路之后需要對其進行幅值&…

【C++】 —— 筆試刷題day_22

一、添加字符 題目解析 這道題&#xff0c;給定兩個字符串A和B&#xff0c;字符串A的長度要小于B的長度&#xff1b; 現在我們要對A字符串添加字符&#xff0c;使得A字符串長度等于B字符串的長度&#xff0c;并且要求對應位置的字母盡量相等&#xff0c;然后求出來不相等的字符…

錯誤: 找不到或無法加載主類 HelloWorld,cmd窗口,java命令,提示

錯誤: 找不到或無法加載主類 HelloWorld 解決辦法 檢查classpath是否 .; 開頭的

手撕LLM(五):從源碼出發,探索多模態VL模型的推理全流程

前面我們分享了關于大語言模型的相關技術&#xff0c;包括前向推理、LoRa掛載、MoE模型、模型預訓練等&#xff1b;后續還是會基于MiniMindLM模型繼續分享關于大語言模型的SFT指令微調、LoRa微調、基于人類偏好的強化學習微調以及模型蒸餾相關的技術&#xff0c;請大家持續關注…

關于隔離2:ADC芯片

ADC可以稱作是模擬芯片領域的明珠。作為一種關鍵器件&#xff0c;ADC設計難度大&#xff0c;專利墻高&#xff0c;所以國內一直處于追趕的狀態。近年來&#xff0c;國產ADC發展極為迅速&#xff0c;逐漸在各項參數上趕上了國際主流水準。 模擬數字轉換器ADC連接著現實模擬世界…