rust安装

文章目录

  • [在 Windows 上安装 rustup](#在 Windows 上安装 rustup)
    • [RUSTUP_HOME CARGO_HOME 自定义存放位置](#RUSTUP_HOME CARGO_HOME 自定义存放位置)
    • [1. x86_64-pc-windows-msvc(官方推荐)Visual Studio Build Tools + rustup](#1. x86_64-pc-windows-msvc(官方推荐)Visual Studio Build Tools + rustup)
    • [86_64-pc-windows-gnu MSYS2 + rustup](#86_64-pc-windows-gnu MSYS2 + rustup)
      • [pacman -S mingw-w64-ucrt-x86_64-gcc 是什么?](#pacman -S mingw-w64-ucrt-x86_64-gcc 是什么?)
      • [pacman -S mingw-w64-ucrt-x86_64-gcc 需要把以前安装的mingw 删除吗](#pacman -S mingw-w64-ucrt-x86_64-gcc 需要把以前安装的mingw 删除吗)
        • [path冲突 不要删除老的mingw的path](#path冲突 不要删除老的mingw的path)
          • [直接移除老的mingw64 vscode编c++会失败](#直接移除老的mingw64 vscode编c++会失败)
            • [方案1 VS Code C++ 也用 MSYS2 即 打开MSYS2 UCRT64 终端进入项目目录,运行code .-》vscode打开项目-》写代码编译允许](#方案1 VS Code C++ 也用 MSYS2 即 打开MSYS2 UCRT64 终端进入项目目录,运行code .-》vscode打开项目-》写代码编译允许)
            • [方案2 vscode c++ 用MinGW ,Rust 只在 MSYS2 里跑,打开MSYS2 UCRT64 终端进入项目目录,运行code . ->vscode终端 cargo build](#方案2 vscode c++ 用MinGW ,Rust 只在 MSYS2 里跑,打开MSYS2 UCRT64 终端进入项目目录,运行code . ->vscode终端 cargo build)
            • [方案 4(彻底清理 / 卸载旧 MinGW64 / MINGW)](#方案 4(彻底清理 / 卸载旧 MinGW64 / MINGW))
            • [把 PATH 保留成 UCRT64 的路径让 VS Code 也用可行吗?不可以](#把 PATH 保留成 UCRT64 的路径让 VS Code 也用可行吗?不可以)
        • [为什么有人要把 mingw64 加入系统 PATH?](#为什么有人要把 mingw64 加入系统 PATH?)
    • ucrtmingw64和mingw64的区别
    • [rustup-init.exe 到底是干嘛的?](#rustup-init.exe 到底是干嘛的?)
      • [Rust 明明"帮下载了 toolchain",为什么仍然需要自己安装Visual Studio Build Tools(MSVC)或 MinGW / MSYS2(GNU)](#Rust 明明“帮下载了 toolchain”,为什么仍然需要自己安装Visual Studio Build Tools(MSVC)或 MinGW / MSYS2(GNU))
  • [MSVC vs GNU,MSVC 和 GNU 都不是 Rust,也不是语言,它们是"把代码变成 Windows 程序"的两套工具](#MSVC vs GNU,MSVC 和 GNU 都不是 Rust,也不是语言,它们是“把代码变成 Windows 程序”的两套工具)
  • [从 rustup v1.25.0+ 版本开始,Windows 下无需手动安装 msvc 了,自动下载安装:https://blog.rust-lang.org/2022/07/11/Rustup-1.25.0.html](#从 rustup v1.25.0+ 版本开始,Windows 下无需手动安装 msvc 了,自动下载安装:https://blog.rust-lang.org/2022/07/11/Rustup-1.25.0.html)

https://course.rs/first-try/installation.html

在 Windows 上安装 rustup

https://blog.csdn.net/W_chuanqi/article/details/146986310

勾选左上角的 C++ 构建工具,然后右侧的方框就会出现。(不同版本可能有所不同)!【sdk会自动勾选】

不需要要加到path中,我没加没有报未安装 Microsoft C++ Build Tools的提示

RUSTUP_HOME CARGO_HOME 自定义存放位置

RUSTUP_HOME 和 CARGO_HOME

👉 只是用来告诉 Rust:

"你的东西存到哪"

需要在用户环境变量新增键值对【配置完,需要重新打开终端】,如

1、RUSTUP_HOME:D:\Soft\Rust\rustup_home

2、CARGO_HOME:D:\Soft\Rust\cargo_home

RUSTUP_HOME = D:\Soft\Rust\rustup_home


CARGO_HOME = D:\Soft\Rust\cargo_home

1. x86_64-pc-windows-msvc(官方推荐)Visual Studio Build Tools + rustup

86_64-pc-windows-gnu MSYS2 + rustup

pacman -S mingw-w64-ucrt-x86_64-gcc 是什么?

"在 MSYS2 里安装 MinGW 工具链"

ucrtmingw64和mingw64的区别?


MSYS2 = 现代、规范、可维护

独立 MinGW = 能用、但老、不可控




pacman -S mingw-w64-ucrt-x86_64-gcc 需要把以前安装的mingw 删除吗

❌ 不需要先把以前安装的 MinGW 删除

⚠️ 但要避免"同时生效"造成冲突

不要让 Rust 和 C++ 抢同一个 gcc

直接从 PATH 移除 MinGW,会影响 VS Code 编译 C / C++代码

path冲突 不要删除老的mingw的path


直接移除老的mingw64 vscode编c++会失败
方案1 VS Code C++ 也用 MSYS2 即 打开MSYS2 UCRT64 终端进入项目目录,运行code .-》vscode打开项目-》写代码编译允许

方案一(最推荐):VS Code C++ 也用 MSYS2

一个 gcc,所有项目用

零冲突

怎么做?

保留 MSYS2 UCRT64

VS Code 从 MSYS2 UCRT64 终端启动:

code .

这样:

VS Code 继承 MSYS2 的 PATH

gcc / g++ = /ucrt64/bin/g++

Rust GNU & C/C++ 完全一致

📌 VS Code C/C++ 插件完全支持这种方式




方案2 vscode c++ 用MinGW ,Rust 只在 MSYS2 里跑,打开MSYS2 UCRT64 终端进入项目目录,运行code . ->vscode终端 cargo build

方案二:MinGW 留在 PATH,Rust 只在 MSYS2 里跑

最常见、最稳妥的折中方案

设置方式

系统 PATH:C:\mingw64\bin ← 保留(给 VS Code / C++)

MSYS2 UCRT64 终端:

自带:

C:\msys64\ucrt64\bin

不使用系统 PATH 的 gcc

规则(一定要守)

🦀 Rust GNU:

只在 MSYS2 UCRT64 终端里 cargo build

🧩 C/C++:

正常 VS Code / PowerShell / CMD

❌ 不要在 PowerShell 里 build Rust GNU

❌ 不要在 MSYS2 里用系统 MinGW








方案三:VS Code 指定编译器路径(进阶)

即使不在 PATH,也能用。

方式 A:CMake

{​ 复制代码
   "CMAKE_C_COMPILER": "C:/mingw64/bin/gcc.exe",
   "CMAKE_CXX_COMPILER": "C:/mingw64/bin/g++.exe"   } } 
   ```

方式 B:tasks.json 
```{   "command": "C:/mingw64/bin/g++.exe" } ```
📌 适合:

多编译器共存

CI / 教学 / 高级用户
方案 4(彻底清理 / 卸载旧 MinGW64 / MINGW)

如果你只保留 MSYS2 UCRT64,PowerShell / CMD / Git Bash 里就不能直接使用其中的 GNU 工具(gcc / g++ / make / cargo 等)

必须在 MSYS2 UCRT64 终端里使用,才能保证正常工作。

只保留 MSYS2 UCRT64时,不管是编译c++还是rust,都需要进入 UCRT64 终端 → cd 到项目 → code . → VS Code打开项目进行编译写代码等


PowerShell / CMD 里调用的 gcc、make、其他系统命令可能行为异常?UCRT64在path里了,为什么会异常?

如果你只保留 MSYS2 UCRT64,PowerShell / CMD / Git Bash 里就不能直接使用其中的 GNU 工具(gcc / g++ / make / cargo 等)

必须在 MSYS2 UCRT64 终端里使用,才能保证正常工作

那为什么vscode可以编译?vscode的终端也是运行gcc取编译。难道是要先MSYS2 UCRT64 终端,进入项目目录,然后code .,然后vscode打开项目目录才能编译,否则vscode直接双击打开项目也是不能编译的?





把 PATH 保留成 UCRT64 的路径让 VS Code 也用可行吗?不可以


为什么有人要把 mingw64 加入系统 PATH?

ucrtmingw64和mingw64的区别



rustup-init.exe 到底是干嘛的?

Rust 工具链安装器 / 管理器(bootstrap 程序)

它的职责是:

下载 Rust(rustc)

下载 Cargo

下载标准库

下载 rustfmt、clippy 等组件

管理多个 toolchain(stable / nightly / gnu / msvc)


Rust 明明"帮下载了 toolchain",为什么仍然需要自己安装Visual Studio Build Tools(MSVC)或 MinGW / MSYS2(GNU)


MSVC vs GNU,MSVC 和 GNU 都不是 Rust,也不是语言,它们是"把代码变成 Windows 程序"的两套工具









从 rustup v1.25.0+ 版本开始,Windows 下无需手动安装 msvc 了,自动下载安装:https://blog.rust-lang.org/2022/07/11/Rustup-1.25.0.html






相关推荐
cipher2 小时前
ERC-4626 通胀攻击:DeFi 金库的"捐款陷阱"
前端·后端·安全
毅航3 小时前
自然语言处理发展史:从规则、统计到深度学习
人工智能·后端
JxWang053 小时前
Task04:字符串
后端
树獭叔叔3 小时前
10-让模型更小更聪明,学而不忘:知识蒸馏与持续学习
后端·aigc·openai
JxWang053 小时前
Task02:链表
后端
只会cv的前端攻城狮4 小时前
Elpis-Core — 融合 Koa 洋葱圈模型实现服务端引擎
前端·后端
codetown4 小时前
2026年Zig编程语言权威指南:从系统级底层架构到现代软件工程实践
后端·程序员
cg336 小时前
cc-connect,十分钟帮你把 claude code 连接到微信,飞书,钉钉等等平台
后端·openai
用户1427868669326 小时前
Java多态的底层真相:JVM到底怎么知道该调哪个方法?(面试高频)
后端