温馨提示×

Rust在Ubuntu上怎么搭建环境

小樊
38
2025-11-14 22:27:16
栏目: 编程语言

在 Ubuntu 上搭建 Rust 开发环境

一 安装步骤

  • 更新系统并安装基础编译工具(确保后续能链接生成可执行文件):
    • 命令:sudo apt update && sudo apt install -y curl build-essential gcc make
  • 使用 rustup 安装最新稳定版工具链(包含 rustcCargo):
    • 命令:curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
    • 安装时选择默认项(安装稳定版 + Cargo)。
  • 激活环境变量:
    • 命令:source $HOME/.cargo/env(或重新打开终端)。
  • 验证安装:
    • 命令:rustc --versioncargo --version,出现版本号即成功。

二 国内镜像加速(可选)

  • 方式一(安装前设置环境变量,加速工具链下载):
    • 命令:
      • export RUSTUP_DIST_SERVER=https://mirrors.ustc.edu.cn/rust-static
      • export RUSTUP_UPDATE_ROOT=https://mirrors.ustc.edu.cn/rust-static/rustup
    • 然后再执行 rustup 安装命令。
  • 方式二(安装后配置 Cargo 镜像,加速依赖下载):
    • 编辑文件 ~/.cargo/config.toml,加入:
      • 使用清华源:
        [registries.crates-io]
        index = "https://mirrors.tuna.tsinghua.edu.cn/crates.io-index"
        
      • 或使用中科大源:
        [source.crates-io]
        replace-with = 'ustc'
        
        [source.ustc]
        registry = "git://mirrors.ustc.edu.cn/crates.io-index"
        
    • 说明:若镜像不可用,检查拼写与协议(git/https)或暂时移除镜像配置。

三 创建项目与常用命令

  • 使用 Cargo 创建并运行项目:
    • 创建:cargo new hello_world && cd hello_world
    • 运行:cargo run(等价于先 cargo build 再运行可执行文件)
    • 构建:cargo build(调试版),cargo build --release(发布版,优化更好)
    • 快速检查:cargo check(仅检查能否编译,速度快)
  • 直接编译运行单文件:
    • rustc main.rs && ./main
  • 常用维护:
    • 更新工具链:rustup update
    • 卸载:rustup self uninstall
  • 项目文件说明:
    • Cargo.toml:项目清单与依赖
    • Cargo.lock:依赖精确版本锁文件

四 常见问题与进阶

  • 编译报错 linker 'cc' not found
    • 原因:缺少 GNU 链接器/编译器工具链。
    • 解决:sudo apt install -y build-essential,确保 gcc/cc 可用。
  • 版本过旧或系统级安装需求:
    • 系统包管理器安装:sudo apt install -y rustc cargo(版本可能较旧,适合统一系统管理)。
    • 推荐优先使用 rustup 获取最新稳定版与完整工具链。
  • 交叉编译示例(以 ARMv7 为例):
    • 安装交叉工具链:sudo apt-get install -y gcc-arm-linux-gnueabihf
    • 添加目标:rustup target add armv7-unknown-linux-gnueabihf
    • 配置链接器(新建或编辑 ~/.cargo/config.toml):
      [target.armv7-unknown-linux-gnueabihf]
      linker = "arm-linux-gnueabihf-gcc"
      
    • 构建:cargo build --release --target=armv7-unknown-linux-gnueabihf

0