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

Rust从入门到精通之入门篇:2.安装和环境配置

安装与环境配置

学习目标

完成本章学习后,你将能够:

  • 在不同操作系统上安装 Rust 编程环境
  • 理解 Rust 工具链的各个组件及其用途
  • 配置适合 Rust 开发的代码编辑器或 IDE
  • 使用基本的 Rust 工具(rustc、cargo、rustup)
  • 设置和优化 Rust 开发环境

在本章中,我们将学习如何安装 Rust 编程语言及其相关工具,并配置开发环境。Rust 提供了一个简单的安装工具 Rustup,它可以帮助你管理不同版本的 Rust 编译器和相关工具。无论你使用的是 Windows、macOS 还是 Linux,本章都将指导你完成 Rust 开发环境的设置。

完成本章后,你将拥有一个功能齐全的 Rust 开发环境,为后续的学习和项目开发做好准备。

安装 Rust

使用 Rustup 安装(推荐)

Rustup 是 Rust 的官方安装工具,它可以帮助你安装和管理不同版本的 Rust。

Windows
  1. 访问 Rust 官方网站 并下载 Rustup 安装程序
  2. 运行下载的安装程序,按照提示完成安装
  3. 安装过程中,你可能需要安装 Visual Studio C++ 构建工具,按照提示进行安装即可

或者,你可以使用 Windows 的命令提示符或 PowerShell 安装:

winget install Rustlang.Rustup
# 或者
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
macOS 和 Linux

在终端中运行以下命令:

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

按照提示完成安装。默认情况下,这将安装最新的稳定版 Rust。

验证安装

安装完成后,打开一个新的终端窗口,运行以下命令验证安装是否成功:

rustc --version
cargo --version
rustup --version

如果看到版本信息,说明安装成功。

Rust 工具链

Rust 安装包括以下主要组件:

rustc

rustc 是 Rust 编译器,负责将 Rust 代码编译成可执行文件或库。

# 编译单个文件
rustc main.rs
# 运行编译后的程序
./main  # 在 Unix 系统上
main.exe  # 在 Windows 上

Cargo

Cargo 是 Rust 的包管理器和构建系统,它可以:

  • 创建新项目:cargo new project_name
  • 构建项目:cargo build
  • 运行项目:cargo run
  • 测试项目:cargo test
  • 更新依赖:cargo update
  • 发布库:cargo publish

Cargo 是 Rust 开发中最常用的工具,它极大地简化了依赖管理和项目构建过程。

Rustup

Rustup 是 Rust 工具链管理器,可以:

  • 更新 Rust:rustup update
  • 安装不同版本的 Rust:rustup install nightly
  • 切换默认版本:rustup default stable
  • 添加编译目标:rustup target add wasm32-unknown-unknown

配置开发环境

代码编辑器/IDE

Rust 支持多种代码编辑器和 IDE,以下是一些流行的选择:

Visual Studio Code

VS Code 是一个轻量级但功能强大的代码编辑器,搭配 Rust 扩展可以提供良好的开发体验。它是目前最流行的 Rust 开发环境之一。

安装步骤:

  1. 下载并安装 Visual Studio Code
  2. 打开 VS Code,转到扩展视图(Ctrl+Shift+X)
  3. 搜索并安装以下扩展:
    • rust-analyzer:提供代码补全、错误检查、代码导航等功能
    • CodeLLDB:用于调试 Rust 程序
    • Even Better TOML:提供 TOML 文件支持(Cargo.toml)
    • crates:帮助管理依赖版本
    • Error Lens:增强错误和警告的可视化
VS Code 配置优化

创建或编辑 .vscode/settings.json 文件,添加以下配置:

{
    "editor.formatOnSave": true,
    "rust-analyzer.checkOnSave.command": "clippy",
    "rust-analyzer.inlayHints.enable": true,
    "rust-analyzer.inlayHints.typeHints.enable": true,
    "rust-analyzer.inlayHints.parameterHints.enable": true,
    "rust-analyzer.cargo.allFeatures": true,
    "rust-analyzer.procMacro.enable": true
}

这些设置将启用:

  • 保存时自动格式化代码
  • 使用 Clippy 进行更严格的代码检查
  • 显示类型提示和参数提示
  • 启用过程宏支持
IntelliJ IDEA / CLion + Rust 插件

JetBrains 的 IDE 提供了强大的 Rust 支持:

  1. 安装 IntelliJ IDEA 或 CLion
  2. 转到 Settings/Preferences -> Plugins
  3. 搜索并安装 “Rust” 插件
Vim/Neovim

对于喜欢终端编辑器的开发者:

  1. 安装 vim-plug 或其他插件管理器
  2. 在配置文件中添加 Rust 相关插件,如 rust.vim 和 coc.nvim

其他有用的工具

rustfmt

Rustfmt 是 Rust 代码格式化工具,它会根据官方风格指南格式化你的代码。

# 安装 rustfmt(通常随 Rust 一起安装)
rustup component add rustfmt

# 格式化单个文件
rustfmt src/main.rs

# 格式化整个项目
cargo fmt
clippy

Clippy 是 Rust 的 lint 工具,它可以帮助你改进代码质量和风格。

# 安装 clippy
rustup component add clippy

# 运行 clippy 检查
cargo clippy
rust-docs

本地文档可以在没有网络连接的情况下查阅 Rust 文档。

# 安装本地文档
rustup component add rust-docs

# 打开文档
rustup doc

配置 Cargo

Cargo 配置文件

Cargo 的全局配置文件位于:

  • Windows: %USERPROFILE%\.cargo\config.toml
  • Unix: ~/.cargo/config.toml

你可以在这里设置默认选项,例如:

[build]
# 设置默认编译目标
target = "x86_64-pc-windows-msvc"

总结

在本章中,我们学习了:

  • 如何在不同操作系统上安装 Rust
  • Rust 工具链的主要组件:rustc、Cargo 和 Rustup
  • 配置适合 Rust 开发的代码编辑器和 IDE
  • 安装和使用辅助工具:rustfmt、clippy 和本地文档
  • 配置 Cargo 以优化开发体验

现在你已经拥有了一个功能完备的 Rust 开发环境,可以开始编写你的第一个 Rust 程序了。在下一章中,我们将创建并运行一个简单的 Hello World 程序,开始我们的 Rust 编程之旅。

项目级配置

在项目根目录创建 .cargo/config.toml 文件可以设置项目特定的配置。

设置环境变量

RUSTUP_DIST_SERVER 和 RUSTUP_UPDATE_ROOT

对于网络受限的地区,可以设置这些环境变量使用镜像站点:

# Windows (PowerShell)
$env:RUSTUP_DIST_SERVER="https://mirrors.tuna.tsinghua.edu.cn/rustup"
$env:RUSTUP_UPDATE_ROOT="https://mirrors.tuna.tsinghua.edu.cn/rustup/rustup"

# Windows (永久设置)
setx RUSTUP_DIST_SERVER "https://mirrors.tuna.tsinghua.edu.cn/rustup"
setx RUSTUP_UPDATE_ROOT "https://mirrors.tuna.tsinghua.edu.cn/rustup/rustup"

# Unix (临时)
export RUSTUP_DIST_SERVER=https://mirrors.tuna.tsinghua.edu.cn/rustup
export RUSTUP_UPDATE_ROOT=https://mirrors.tuna.tsinghua.edu.cn/rustup/rustup

# Unix (永久设置,添加到 ~/.bashrc 或 ~/.zshrc)
echo 'export RUSTUP_DIST_SERVER=https://mirrors.tuna.tsinghua.edu.cn/rustup' >> ~/.bashrc
echo 'export RUSTUP_UPDATE_ROOT=https://mirrors.tuna.tsinghua.edu.cn/rustup/rustup' >> ~/.bashrc

配置 Cargo 镜像源

创建或编辑 ~/.cargo/config.toml(Unix)或 %USERPROFILE%\.cargo\config.toml(Windows):

[source.crates-io]
replace-with = "tuna"

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

常见问题解决

安装过程中的网络问题

如果在安装过程中遇到网络问题,可以:

  1. 使用上述提到的镜像源
  2. 尝试使用 VPN 或代理
  3. 下载离线安装包(在官网提供)

Windows 特定问题

MSVC 构建工具缺失

错误信息:error: linker 'link.exe' not found

解决方案:安装 Visual Studio Build Tools,确保选中「C++ 构建工具」。

权限问题

如果遇到权限错误,尝试以管理员身份运行命令提示符或 PowerShell。

Linux 特定问题

缺少依赖

在某些 Linux 发行版上,可能需要安装额外的依赖:

# Debian/Ubuntu
sudo apt install build-essential pkg-config libssl-dev

# Fedora
sudo dnf install gcc gcc-c++ make openssl-devel

# Arch Linux
sudo pacman -S base-devel openssl

macOS 特定问题

缺少命令行工具

错误信息:xcrun: error: invalid active developer path

解决方案:安装 Xcode 命令行工具:

xcode-select --install

export RUSTUP_DIST_SERVER=https://mirrors.tuna.tsinghua.edu.cn/rustup


### RUST_BACKTRACE

设置此环境变量可以在程序崩溃时显示详细的堆栈跟踪:

```bash
# Windows (PowerShell)
$env:RUST_BACKTRACE=1

# Unix
export RUST_BACKTRACE=1

创建你的第一个项目

让我们创建一个简单的项目来测试环境:

# 创建新项目
cargo new hello_rust
cd hello_rust

# 构建并运行
cargo run

你应该会看到输出:Hello, world!

故障排除

常见问题

  1. 找不到 rustc 命令

    • 确保 Rust 已正确安装
    • 检查 PATH 环境变量是否包含 ~/.cargo/bin
  2. 编译错误

    • 确保已安装必要的系统依赖(如 C 编译器)
    • 在 Windows 上,确保已安装 Visual Studio C++ 构建工具
  3. Cargo 无法下载依赖

    • 检查网络连接
    • 考虑使用镜像源

获取帮助

  • 官方文档:rustup doc 或访问 doc.rust-lang.org
  • Rust 论坛:users.rust-lang.org
  • Reddit:r/rust
  • Discord:discord.gg/rust-lang

总结

在本章中,我们学习了:

  • 如何使用 Rustup 安装 Rust
  • Rust 工具链的主要组件:rustc、Cargo 和 Rustup
  • 如何配置常用的代码编辑器和 IDE
  • 有用的开发工具:rustfmt、clippy 和本地文档
  • 如何配置 Cargo 和设置环境变量
  • 创建和运行第一个 Rust 项目

现在你已经设置好了 Rust 开发环境,可以开始编写 Rust 代码了。在下一章中,我们将创建并运行第一个 Rust 程序,深入了解 Rust 程序的基本结构。


http://www.kler.cn/a/612648.html

相关文章:

  • Java native2ascii 工具的详细使用说明,包括命令行操作、参数解析、示例及应用场景
  • Qt 多线程的两种实现方式
  • C# 属性(Property)‌详解
  • 南京审计大学:《 面向工程审计行业的DeepSeek大模型应用指南》.pdf(免费下载)
  • LabVIEW IMAQdx相机接口重命名
  • 深入理解建造者模式:从披萨到电商订单系统的优雅设计实践
  • kafka_exporter服务安装并启动
  • 鸿蒙生态圈暗战:数字孪生三强争霸谁将主宰消费电子未来?
  • Docker Hub Mirror 终极解决方案——0成本,超高速!
  • MOSN(Modular Open Smart Network)-08-MOSN 扩展机制解析
  • 如何快速备份你的 API 吗? Postman 批量导出接口
  • 【Git】基础使用
  • 3.17-3.23 Web3 游戏周报:Pixudi 双榜领跑,The Forgotten Runiverse 登陆三大主机平台
  • 智能家居物联网中2.4G芯片的通信协议应用
  • 跨语言语言模型预训练
  • 企业微信实现“关联外部选项“、“审批控件中的外部选项“
  • 食品计算—MetaFood3D: 3D Food Dataset with Nutrition Values
  • 【HTML 基础教程】HTML 编辑器
  • 【Git】git cherry-pick(将某个分支的 commit 改动复制到当前分支)
  • 文件分片上传demo(ant design vue 的a-upload)