news 2026/4/23 8:23:27

【Rust Cargo 目录迁移到 D 盘:不改变安装路径和环境变量的终极方案】

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【Rust Cargo 目录迁移到 D 盘:不改变安装路径和环境变量的终极方案】

Rust Cargo 目录迁移到 D 盘:不改变安装路径和环境变量的终极方案

作者:ryen
发布时间:2026-01-23
标签:Rust、Cargo、Windows、磁盘管理、性能优化


前言

在使用 Rust 开发的过程中,cargo会产生大量的缓存文件,主要包括:

  • .cargo目录:存放 crate 注册表(registry)、git 依赖、bin 工具等,通常占用几 GB 到十几 GB。
  • .rustup目录:存放 toolchain、工具链组件,也会占用不少空间。
  • 项目中的target目录:每个项目的编译输出(debug/release 产物、中间文件),尤其是大型项目或频繁构建时,体积增长很快。

如果 Rust 安装在 C 盘(默认情况),这些缓存会迅速吃掉宝贵系统盘空间。但我们又不想重新安装 Rust、也不想修改 PATH 等环境变量。

本文提供一套完全透明、无需改动环境配置的解决方案:

  1. 使用 Windows目录联接(junction).cargo.rustup整个迁移到 D 盘。
  2. 通过CARGO_TARGET_DIR将所有项目的编译输出统一迁移到 D 盘。

操作完成后,Rust、Cargo、rustup 一切正常运行,就好像目录还在 C 盘一样。


一、迁移 .cargo 目录(推荐首选,效果最彻底)

.cargo目录默认位于C:\Users\你的用户名\.cargo,包含 registry 缓存(最大头)、git 依赖等。

操作步骤

  1. 关闭所有相关程序

    • 关闭 VS Code、终端、IDE 等。
    • 任务管理器确认无cargorustcrustup进程。
  2. 移动目录到 D 盘

    • 显示隐藏文件(资源管理器 → 查看 → 隐藏的项目)。
    • C:\Users\你的用户名\.cargo整个文件夹剪切到 D 盘。
    • 推荐路径:D:\Rust\.cargo(新建 Rust 文件夹便于管理)。
  3. 删除原位置目录

    • 确保移动成功后,删除 C 盘原.cargo文件夹(必须删除,否则无法创建联接)。
  4. 以管理员身份创建目录联接(Junction)

    • 打开 CMD(管理员身份),执行:
      mklink /J "C:\Users\你的用户名\.cargo" "D:\Rust\.cargo"
    • 示例(用户名 ryen):
      mklink /J "C:\Users\ryen\.cargo" "D:\Rust\.cargo"
    • 成功提示:为 <<===>> 创建了连接 <<>>
  5. 验证

    • 运行cargo --version正常。
    • where cargo仍指向C:\Users\...\ .cargo\bin\cargo.exe
    • C 盘.cargo文件夹几乎不占空间(只是联接点),实际文件在 D 盘。

为什么用/J(junction)而不是/D(symlink)?
Junction 对旧程序兼容性更好,Cargo/rustup 完全无感知,且不需要开发者模式。

还原方法:删除 C 盘的 junction 文件夹,再把 D 盘内容移回即可。


二、迁移 .rustup 目录(可选,视空间需求)

.rustup默认在C:\Users\你的用户名\.rustup,存放工具链。

操作与.cargo完全相同

mklink /J "C:\Users\你的用户名\.rustup" "D:\Rust\.rustup"

迁移后,所有rustup命令正常,工具链下载也会直接去 D 盘。


三、迁移编译输出:设置 CARGO_TARGET_DIR

项目中的target/目录是另一个空间大户。通过环境变量CARGO_TARGET_DIR可以统一指定编译输出路径。

设置方法汇总

1. 全局配置(推荐:影响所有项目)

编辑全局配置文件:C:\Users\你的用户名\.cargo\config.toml

[build] target-dir = "D:/Rust/target"
  • 所有项目共享同一个 target 目录。
  • 建议使用变量自动区分项目,避免潜在冲突:
    target-dir = "D:/Rust/target/${CARGO_PKG_NAME}"

注意:如果你已经用 junction 迁移了.cargo,这个 config.toml 文件实际存储在 D 盘,但路径不变,编辑原位置即可。

2. 项目级配置(仅当前项目)

在项目根目录创建.cargo/config.toml

[build] target-dir = "D:/Rust/target/你的项目名"
3. 系统环境变量(永久生效)

Windows → 系统属性 → 环境变量 → 新建用户变量:

  • 变量名:CARGO_TARGET_DIR
  • 变量值:D:\Rust\target
4. 临时使用
set CARGO_TARGET_DIR=D:\Rust\target cargo build

或命令行直接指定:

cargo build --target-dir D:\Rust\target
优先级顺序(从高到低)
  1. --target-dir参数
  2. 项目级 config.toml
  3. 全局 config.toml
  4. 环境变量

清理旧缓存:删除项目根目录下的target/文件夹即可。


四、完整推荐方案

  1. 先迁移.cargo.rustup(用 junction,一劳永逸)。
  2. 再设置全局CARGO_TARGET_DIR到 D 盘。
  3. 创建D:\Rust统一文件夹管理:
    • D:\Rust\.cargo
    • D:\Rust\.rustup
    • D:\Rust\target

这样,所有 Rust 相关文件(依赖缓存、工具链、编译产物)全部在 D 盘,C 盘只剩少量配置和联接点。


总结

  • 零配置改动:PATH、安装路径、环境变量完全不动。
  • 完全透明:Rust 生态无感知,正常工作。
  • 空间解放:C 盘轻松减负几 GB 甚至几十 GB。
  • 安全可逆:随时可以删除 junction 还原。

如果你也饱受 C 盘空间焦虑之苦,赶紧试试这套方案吧!有问题欢迎留言讨论~


点赞 + 收藏 + 关注,三连走起!
如需转载请注明出处,谢谢!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 8:23:23

人像占比不过小就行,BSHM镜像适应性强

人像占比不过小就行&#xff0c;BSHM镜像适应性强 你有没有遇到过这样的情况&#xff1a;想给一张合影换背景&#xff0c;结果AI只抠出了半张脸&#xff1b;或者处理一张远距离抓拍的人像&#xff0c;边缘毛躁得像被撕开的纸&#xff1f;很多抠图工具对人像大小、姿态、光照特…

作者头像 李华
网站建设 2026/4/23 8:21:28

MinerU表格识别不全?structeqtable模型启用指南

MinerU表格识别不全&#xff1f;structeqtable模型启用指南 你是不是也遇到过这样的问题&#xff1a;用MinerU提取PDF里的表格时&#xff0c;结果只出来几行文字&#xff0c;或者表格结构完全错乱&#xff0c;甚至整张表直接消失&#xff1f;明明PDF里清清楚楚的三列表格&…

作者头像 李华
网站建设 2026/4/17 0:38:07

零基础入门语音情感识别:用科哥镜像轻松实现9种情绪分类

零基础入门语音情感识别&#xff1a;用科哥镜像轻松实现9种情绪分类 1. 引言&#xff1a;让机器听懂你的情绪 你有没有想过&#xff0c;一段简单的语音背后&#xff0c;其实藏着丰富的情感信息&#xff1f;愤怒、快乐、悲伤、惊讶……这些情绪不仅体现在文字内容上&#xff0…

作者头像 李华
网站建设 2026/4/1 3:19:11

罐子塑料树枝纸张玻璃聚乙烯检测数据集VOC+YOLO格式8797张9类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件)图片数量(jpg文件个数)&#xff1a;8797标注数量(xml文件个数)&#xff1a;8797标注数量(txt文件个数)&#xff1a;8797标注类别…

作者头像 李华
网站建设 2026/4/18 11:11:22

Qwen模型并发能力不足?多实例负载均衡部署方案

Qwen模型并发能力不足&#xff1f;多实例负载均衡部署方案 1. 为什么儿童向图片生成需要特别关注并发能力 你有没有试过给一群小朋友同时演示“小熊穿宇航服”“小兔子开飞船”这类可爱动物图片的生成过程&#xff1f;当十多个孩子围在屏幕前&#xff0c;每人喊一个动物名字&…

作者头像 李华
网站建设 2026/4/12 15:32:35

[精品]基于Nodejs+Vue的商城系统

这里写目录标题 项目介绍项目展示开发工具和技术简介项目技术介绍技术开发思路之实施方案&#xff1a;工作计划 项目介绍 随着科学技术水平的逐年发展&#xff0c;企业和高校对信息化建设提出了新的规范要求和建设标准&#xff0c;如何有效的利用信息化建设改善自身对于现代化…

作者头像 李华