在没有网络的Windows离线环境中搭建Rust开发环境,核心思路是先在有网的机器上下载好所有离线安装包,再拷贝到离线机器上安装配置,
一、前置准备(有网机器操作)
首先在能联网的Windows电脑上,下载Rust的离线安装包和依赖,主要包含3部分:rustup离线安装器、Rust工具链离线包、编辑器插件离线包。
步骤1:下载rustup离线安装器
- 访问Rust官网的离线安装页面:forge.rust-lang.org/infra/other…
- 下载对应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(包管理器)等核心组件,需要下载对应版本的离线包:
- 打开Rust工具链下载地址:static.rust-lang.org/dist/
- 选择你要安装的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(可选,文档)
以下是下载链接:
- 把这些
.tar.xz文件保存到一个文件夹(如rust-offline),方便后续拷贝。
步骤3:下载编辑器插件离线包(可选,以VS Code为例)
如果需要用VS Code开发,提前下载rust-analyzer插件离线包:
- 访问VS Code插件市场:marketplace.visualstudio.com/items?itemN…
- 点击右侧“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并配置离线工具链
- 运行
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)。
- Default toolchain? 输入
- 手动解压工具链包:
- 打开
C:\Users\你的用户名\.rustup文件夹(如果没有,手动创建); - 在该文件夹下创建
toolchains子文件夹; - 将下载的
rustc-xxx.tar.xz、cargo-xxx.tar.xz、rust-std-xxx.tar.xz解压到toolchains文件夹下,合并为一个文件夹(命名为1.79.0,可以自己命名,但是这里的命名有规则限制,不可以命名为stable,详细的见 rustup toolchain link --help )。这里强调一下,这几个包里面的到bin、lib那一层的,全部复制到1.79.0文件夹下,不要管冲突,直接跳过
- 配置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插件(离线)
- 打开VS Code,按
Ctrl+Shift+X打开扩展面板; - 点击右上角“...” → “Install from VSIX...”;
- 选择拷贝过来的
rust-analyzer.vsix文件,完成安装。
步骤4:安装编译工具链(解决link.exe缺失)
如果运行cargo build提示“linker link.exe not found”,安装离线的Visual Studio Build Tools:
- 运行
vs_buildtools.exe(离线包中的可执行文件); - 选择“Desktop development with C++”工作负载,点击“安装”,等待完成后重启终端。
三、离线使用cargo(依赖管理)
离线环境中使用cargo需要提前下载依赖包并配置本地源:
- 有网机器上,在一个Rust项目中执行
cargo vendor,会将项目依赖下载到vendor文件夹; - 将
vendor文件夹拷贝到离线机器的项目目录下; - 在项目目录下创建
.cargo/config文件,写入:
[
source.crates-io
]
replace-with = "vendored-sources"
[
source.vendored-sources
]
directory = "vendor"
- 之后执行
cargo build就会从本地vendor文件夹读取依赖,无需联网。
四、常见问题解决
- rustup: command not found:
- 原因:环境变量未生效;
- 解决:手动将
C:\Users\你的用户名\.cargo\bin添加到系统环境变量,重启终端。
- 工具链解压后无法识别:
- 原因:文件夹命名不符合rustup规范;
- 解决:确保工具链文件夹命名(和下载的版本匹配)。
- cargo vendor 提示网络错误:
- 原因:有网机器未提前下载依赖;
- 解决:在有网机器上先执行
cargo build下载依赖,再执行cargo vendor。
总结
- 核心流程:有网机器下载
rustup安装器+工具链离线包 → 离线机器安装rustup并手动解压工具链 → 配置默认工具链 → 安装编辑器插件和编译工具链; - 关键要点:工具链文件夹需放到
.rustup/toolchains下,命名符合规范;离线依赖需用cargo vendor提前下载并配置本地源; - 验证标准:能执行
rustc --version和cargo run运行简单程序,即说明离线环境搭建成功。 如果需要安装特定版本的Rust工具链,只需替换对应版本的离线包即可,流程完全一致。