当前位置: 首页 > ai >正文

Rust 安装与运行指南

🦀 Rust 安装与运行指南

专为Rust小白准备的详细安装和运行教程
在这里插入图片描述

📋 目录

  • 环境准备
  • Rust安装步骤
  • 验证安装
  • 编写第一个程序
  • 编译运行方法
  • 常见问题解决
  • 开发工具推荐
  • 下一步学习

🖥️ 环境准备

支持的操作系统

  • ✅ Windows 10/11
  • ✅ macOS
  • ✅ Linux (Ubuntu, CentOS, etc.)

系统要求

  • 至少 1GB 可用磁盘空间
  • 稳定的网络连接(用于下载)

🚀 Rust安装步骤

Windows用户 (推荐方式)

步骤1:下载安装程序
  1. 访问官方网站:https://rustup.rs/
  2. 点击下载 rustup-init.exe
  3. 运行下载的安装程序
步骤2:执行安装
  1. 双击运行 rustup-init.exe
  2. 看到命令行界面时,直接按回车使用默认设置
  3. 等待下载和安装完成(可能需要几分钟)
  4. 看到 “Rust is installed now. Great!” 表示安装成功
步骤3:重启终端
  • 重要:关闭所有终端和命令行窗口
  • 重新打开PowerShell或VS Code

macOS用户

# 在终端中运行
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh# 然后重启终端或运行
source ~/.cargo/env

Linux用户

# Ubuntu/Debian
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh# 然后重启终端或运行
source ~/.cargo/env

✅ 验证安装

打开新的终端/PowerShell,运行以下命令验证安装:

# 检查Rust编译器版本
rustc --version# 检查Cargo包管理器版本
cargo --version# 检查Rustup工具版本
rustup --version

期望输出示例:

rustc 1.75.0 (82e1608df 2023-12-21)
cargo 1.75.0 (1d8b05cdd 2023-11-20)
rustup 1.26.0 (5af9b9484 2023-04-05)

📝 编写第一个程序

方法1:单文件程序

创建文件 hello.rs

fn main() {println!("Hello, Rust!");println!("你好,Rust!");// 简单的变量使用let name = "Rust新手";println!("欢迎 {}", name);// 基本计算let x = 10;let y = 20;println!("{} + {} = {}", x, y, x + y);
}

方法2:Cargo项目(推荐)

# 创建新项目
cargo new my_rust_app# 进入项目目录
cd my_rust_app# 编辑 src/main.rs 文件

🔧 编译运行方法

单文件编译运行

在PowerShell中(Windows):
# 分步执行(推荐新手)
rustc hello.rs
./hello.exe# 一键编译运行(PowerShell语法)
rustc hello.rs; if ($?) { ./hello.exe }
在Git Bash/命令提示符中:
# 一键编译运行(Bash语法)
rustc hello.rs && ./hello.exe

Cargo项目运行

# 进入项目目录
cd my_rust_app# 编译并运行(推荐)
cargo run# 仅编译
cargo build# 编译优化版本
cargo build --release# 运行优化版本
./target/release/my_rust_app.exe  # Windows
./target/release/my_rust_app       # Linux/macOS

🔧 常见问题解决

问题1:命令未找到

错误rustc: command not foundcargo: command not found

解决方案

  1. 重启终端/PowerShell
  2. 重新运行安装程序
  3. 手动添加PATH:~/.cargo/bin (Linux/macOS) 或 %USERPROFILE%\\.cargo\\bin (Windows)

问题2:网络下载慢

解决方案:使用国内镜像

# Windows PowerShell
$env:RUSTUP_DIST_SERVER = "https://mirrors.ustc.edu.cn/rust-static"
$env:RUSTUP_UPDATE_ROOT = "https://mirrors.ustc.edu.cn/rust-static/rustup"
# Linux/macOS
export RUSTUP_DIST_SERVER="https://mirrors.ustc.edu.cn/rust-static"
export RUSTUP_UPDATE_ROOT="https://mirrors.ustc.edu.cn/rust-static/rustup"

问题3:编译错误

常见原因

  • 语法错误
  • 文件路径错误
  • 权限问题

调试方法

# 详细错误信息
rustc hello.rs --verbose# 检查语法
cargo check  # (在Cargo项目中)

问题4:运行时找不到可执行文件

Windows PowerShell:使用 ./filename.exe
Linux/macOS:使用 ./filename


🛠️ 开发工具推荐

VS Code (强烈推荐)

安装扩展

  1. rust-analyzer - Rust语言支持
  2. CodeLLDB - 调试支持
  3. Better TOML - Cargo.toml文件支持
  4. Error Lens - 行内错误显示

其他编辑器

  • IntelliJ IDEA + Rust插件
  • Vim + rust.vim
  • Sublime Text + Rust Enhanced

终端选择

  • Windows:PowerShell, Windows Terminal, Git Bash
  • macOS:Terminal, iTerm2
  • Linux:各发行版默认终端

📚 下一步学习

学习路径建议

  1. 基础语法 (1-2周)

    • 变量和数据类型
    • 控制流程 (if/else, loop, match)
    • 函数和模块
  2. 核心概念 (2-3周)

    • 所有权系统 (Ownership) ⭐重要
    • 借用和引用 (Borrowing)
    • 结构体和枚举
  3. 错误处理 (1周)

    • Result和Option类型
    • panic!和错误传播
    • 自定义错误类型
  4. 实战项目 (按兴趣选择)

    • CLI工具开发
    • Web开发 (actix-web, axum)
    • GUI应用 (egui, tauri)
    • 系统编程
    • 区块链开发

学习资源

官方资源

  • 📖 The Rust Book - 官方教程
  • 🧪 Rust by Example - 实例学习
  • 📚 Rust标准库文档

中文资源

  • 📖 Rust程序设计语言(中文版)
  • 🎓 Rust语言圣经

实践平台

  • 🏃 Rustlings - 交互式练习
  • ⚡ Exercism Rust Track - 编程练习

🎯 小贴士

编程建议

  • ✅ 从小项目开始,逐步增加复杂度
  • ✅ 多看文档,善用 cargo doc --open
  • ✅ 加入Rust社区,参与讨论
  • ✅ 不要害怕编译错误,Rust编译器很友好

常用命令速查

cargo new project_name    # 创建新项目
cargo run                 # 编译并运行
cargo build               # 仅编译
cargo test                # 运行测试
cargo doc --open          # 生成并打开文档
cargo update              # 更新依赖
rustup update             # 更新Rust工具链

🎉 恭喜你开始Rust学习之旅!记住:Rust学习曲线较陡,但一旦掌握将获得强大的编程能力。保持耐心,多动手实践!

http://www.xdnf.cn/news/19065.html

相关文章:

  • Jetson进行旋转目标检测推理实现大疆无人机飞行控制
  • Git 9 ,.git/index.lock 文件冲突问题( .git/index.lock‘: File exists. )
  • 卷积神经网络为什么要填充(Padding)
  • 基于无人机的风电叶片全自动智能巡检:高精度停角估计与细节优先曝光调控技术
  • 在做题中学习(89):合并区间
  • 如何去除edge浏览器的灰色边框
  • idea2023.3遇到了Lombok失效问题,注释optional和annotationProcessorPaths即可恢复正常
  • Redis与MySQL数据不一致问题
  • 【MYSQL | 基础篇 多表查询】
  • FunctionAI 图像生成:简化从灵感到 API 调用的每一步
  • Kingbase-Mysql兼容模式下LOAD DATA INFILE语法再体验
  • idea控制台从properties中取值然后打印出现控制台乱码问题
  • (论文速读)MAPTNet——少样本表面缺陷分割方法
  • Java图形图像处理【基础篇】【二】
  • 前端-什么是Vue
  • DMZ层Nginx TLS 终止与安全接入配置实战20250829
  • OpenCV 图像轮廓检测与相关技术全解析
  • 三维铸件模型分解:基于微分几何与拓扑结构的分析方法
  • Ubuntu虚拟机磁盘空间扩展指南
  • 基于LangChain框架搭建AI问答系统(附源码)
  • InnoDB存储引擎底层拆解:从页、事务到锁,如何撑起MySQL数据库高效运转(下)
  • MySQL 中如何解决深度分页的问题?
  • 嵌入式接口通识知识之RGB接口
  • 基于机器学习的多个模型的预测Backtrader自动化交易系统设计
  • 关于shell命令的扩展
  • AlexNet:点燃深度学习革命的「卷积神经网络之王」
  • 接口测试工具:Postman详解
  • 计算机专业考研备考建议
  • idea2025.2中maven编译中文乱码
  • 编译esp32报错解决办法