温馨提示×

Linux系统中如何配置Rust的开发工具链

小樊
39
2025-12-26 02:52:43
栏目: 编程语言

Linux 下配置 Rust 开发工具链

一 安装 Rust 工具链

  • 使用官方推荐的 rustup 安装,执行以下命令并按提示完成安装:
    curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
    
  • 安装完成后加载环境变量(写入的是 rustup 生成的脚本,优先于手动改 PATH):
    source "$HOME/.cargo/env"
    
  • 验证安装结果:
    rustc --version
    cargo --version
    rustup --version
    
  • 说明:上述方式会将 rustc、cargo、rustup 等工具安装到用户目录 ~/.cargo/bin,无需管理员权限。

二 配置国内镜像加速

  • 安装阶段加速(可选):在运行安装脚本前设置镜像环境变量,提升下载速度。
    export RUSTUP_UPDATE_ROOT="https://mirrors.ustc.edu.cn/rust-static/rustup"
    export RUSTUP_DIST_SERVER="https://mirrors.tuna.tsinghua.edu.cn/rustup"
    curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
    
  • 工具链更新加速(安装后也建议设置):
    export RUSTUP_DIST_SERVER="https://mirrors.tuna.tsinghua.edu.cn/rustup"
    rustup update
    
  • 以上镜像为常用高校源,稳定可靠;如使用其他发行版或内网环境,可替换为对应可信镜像。

三 配置 Cargo 与常用工具

  • 配置 crates.io 镜像(提升依赖下载速度):在用户目录创建或编辑 ~/.cargo/config.toml,写入:
    [source.crates-io]
    replace-with = "ustc"
    
    [source.ustc]
    registry = "https://mirrors.ustc.edu.cn/crates.io-index"
    
    [net]
    git-fetch-with-cli = true
    
  • 可选:全局安装 rust-analyzer(多数发行版已内置;若 VS Code 提示未找到可执行文件,可手动安装):
    cargo install rust-analyzer
    
  • 说明:镜像配置支持全局与项目级(在项目根目录新建同名文件即可),团队协作建议统一到仓库根目录的 .cargo/config.toml

四 编辑器与第一个项目

  • VS Code 配置:安装扩展 rust-analyzer(提供智能补全、诊断、跳转等)。打开项目后可通过命令面板执行 Rust Analyzer: Restart Server 以恢复分析服务。
  • 创建并运行项目:
    cargo new hello-rust
    cd hello-rust
    cargo run
    
    看到输出 Hello, World! 即表示工具链与编辑器配置正常。

五 常用维护与排错

  • 工具链管理常用命令:
    rustup update              # 更新工具链
    rustup toolchain list       # 查看已安装工具链
    rustup default stable      # 设置默认工具链
    rustup override set nightly # 为当前项目覆盖为 nightly
    rustup self uninstall      # 卸载 Rust(谨慎)
    
  • 常见问题速解:
    • 命令未找到:确认已执行 source "$HOME/.cargo/env",或检查 ~/.bashrc、~/.zshrc 是否包含该加载语句并重新加载。
    • 安装或更新缓慢:确认已设置 RUSTUP_DIST_SERVER 镜像,再执行 rustup update
    • 依赖拉取超时:确认 ~/.cargo/config.toml[source.crates-io] 与镜像配置正确,必要时设置 git-fetch-with-cli = true

0