rust离线安装

6 阅读5分钟

在没有网络的Windows离线环境中搭建Rust开发环境,核心思路是先在有网的机器上下载好所有离线安装包,再拷贝到离线机器上安装配置,

一、前置准备(有网机器操作)

首先在能联网的Windows电脑上,下载Rust的离线安装包和依赖,主要包含3部分:rustup离线安装器、Rust工具链离线包、编辑器插件离线包。

步骤1:下载rustup离线安装器

  1. 访问Rust官网的离线安装页面:forge.rust-lang.org/infra/other…
  2. 下载对应Windows版本的安装包:
  • 64位系统:选择rustup-init-x86_64-pc-windows-msvc.exe(推荐MSVC版本,兼容性更好);
  • 32位系统:选择rustup-init-i686-pc-windows-msvc.exe
  • 备注:也可以直接下载rustup的离线包压缩包(如rustup-1.26.0-x86_64-pc-windows-msvc.zip),解压后使用。

步骤2:下载Rust工具链离线包(核心)

Rust工具链包含rustc(编译器)、cargo(包管理器)等核心组件,需要下载对应版本的离线包:

  1. 打开Rust工具链下载地址:static.rust-lang.org/dist/
  2. 选择你要安装的Rust版本(推荐稳定版,如1.77.0),下载以下文件(以64位MSVC为例):
  • rustc-1.77.0-x86_64-pc-windows-msvc.tar.xz(编译器)
  • cargo-1.77.0-x86_64-pc-windows-msvc.tar.xz(包管理器)
  • rust-std-1.77.0-x86_64-pc-windows-msvc.tar.xz(标准库)
  • rust-docs-1.77.0-x86_64-pc-windows-msvc.tar.xz(可选,文档)

以下是下载链接:

  1. 把这些.tar.xz文件保存到一个文件夹(如rust-offline),方便后续拷贝。

步骤3:下载编辑器插件离线包(可选,以VS Code为例)

如果需要用VS Code开发,提前下载rust-analyzer插件离线包:

  1. 访问VS Code插件市场:marketplace.visualstudio.com/items?itemN…
  2. 点击右侧“Download Extension”,下载.vsix格式的离线插件包(如rust-lang.rust-analyzer-0.4.1802.vsix)。

步骤4:下载Windows编译工具链(可选,解决link.exe缺失)

如果离线机器没有安装Visual Studio Build Tools,需要提前下载:

  • 访问微软官网下载“Visual Studio Build Tools”离线安装包:visualstudio.microsoft.com/visual-cpp-…
  • 用有网机器下载离线安装包(执行vs_buildtools.exe --layout D:\vs-offline --add Microsoft.VisualStudio.Workload.VCTools --includeRecommended),把vs-offline文件夹拷贝到离线机器。

二、离线机器安装配置

将有网机器上下载的所有文件拷贝到离线Windows机器(如U盘、移动硬盘),然后按以下步骤安装:

步骤1:安装rustup并配置离线工具链

  1. 运行rustup-init-x86_64-pc-windows-msvc.exe,在弹出的终端中:
  • 首先会提示“Default host triple?”,直接按回车;
  • 然后选择“Customize installation”(输入2回车);
  • 接下来依次配置:
    • Default toolchain? 输入stable回车;
    • Default host triple? 回车默认;
    • Profile? 输入complete回车(完整安装);
    • Modify PATH variable? 输入y回车;
    • 最后会提示“Current installation options”,确认后按回车,此时会提示“could not download”,不用管,先退出(按Ctrl+C)。
  1. 手动解压工具链包:
  • 打开C:\Users\你的用户名\.rustup文件夹(如果没有,手动创建);
  • 在该文件夹下创建toolchains子文件夹;
  • 将下载的rustc-xxx.tar.xzcargo-xxx.tar.xzrust-std-xxx.tar.xz解压到toolchains文件夹下,合并为一个文件夹(命名为1.79.0,可以自己命名,但是这里的命名有规则限制,不可以命名为stable,详细的见 rustup toolchain link --help )。 这里强调一下,这几个包里面的到bin、lib那一层的,全部复制到1.79.0文件夹下,不要管冲突,直接跳过
  1. 配置rustup默认工具链: 打开PowerShell(管理员模式),执行:
rustup toolchain link latest C:\Users\your-user-name\.rustup\toolchains\1.79.0\
rustup default latest 

步骤2:

验证Rust核心环境 打开新的PowerShell,执行以下命令,若输出版本信息则说明安装成功:

rustc --version 
cargo --version 

示例输出

rustc 1.77.0 (aedd173a2 2024-03-17) 
cargo 1.77.0 (fc82fbe8f 2024-02-29) 

步骤3:安装VS Code插件(离线)

  1. 打开VS Code,按Ctrl+Shift+X打开扩展面板;
  2. 点击右上角“...” → “Install from VSIX...”;
  3. 选择拷贝过来的rust-analyzer.vsix文件,完成安装。

步骤4:安装编译工具链(解决link.exe缺失)

如果运行cargo build提示“linker link.exe not found”,安装离线的Visual Studio Build Tools:

  1. 运行vs_buildtools.exe(离线包中的可执行文件);
  2. 选择“Desktop development with C++”工作负载,点击“安装”,等待完成后重启终端。

三、离线使用cargo(依赖管理)

离线环境中使用cargo需要提前下载依赖包并配置本地源:

  1. 有网机器上,在一个Rust项目中执行cargo vendor,会将项目依赖下载到vendor文件夹;
  2. vendor文件夹拷贝到离线机器的项目目录下;
  3. 在项目目录下创建.cargo/config文件,写入:
[
source.crates-io
]
replace-with = "vendored-sources" 
[
source.vendored-sources
]
directory = "vendor"
    
  1. 之后执行cargo build就会从本地vendor文件夹读取依赖,无需联网。

四、常见问题解决

  1. rustup: command not found
  • 原因:环境变量未生效;
  • 解决:手动将C:\Users\你的用户名\.cargo\bin添加到系统环境变量,重启终端。
  1. 工具链解压后无法识别
  • 原因:文件夹命名不符合rustup规范;
  • 解决:确保工具链文件夹命名(和下载的版本匹配)。
  1. cargo vendor 提示网络错误
  • 原因:有网机器未提前下载依赖;
  • 解决:在有网机器上先执行cargo build下载依赖,再执行cargo vendor

总结

  1. 核心流程:有网机器下载rustup安装器+工具链离线包 → 离线机器安装rustup并手动解压工具链 → 配置默认工具链 → 安装编辑器插件和编译工具链;
  2. 关键要点:工具链文件夹需放到.rustup/toolchains下,命名符合规范;离线依赖需用cargo vendor提前下载并配置本地源;
  3. 验证标准:能执行rustc --versioncargo run运行简单程序,即说明离线环境搭建成功。 如果需要安装特定版本的Rust工具链,只需替换对应版本的离线包即可,流程完全一致。