不用rustup,Windows下gnu版Rust安装与开发环境配置
写在前面
本文介绍了在不使用rustup的情况下,在Windows上安装gnu版的Rust,并配置开发环境(VSCode + rust-analyzer,CLion + IntelliJ Rust)的过程。Win10上亲测有效。
预备知识:
- rustup:rustup 是Rust 的安装和管理工具,感兴趣的读者可自行上网了解。
- “gnu版本的Rust”:Rust有工具链(toolchain)的概念,是指开发Rust应用程序所需的一系列组件或工具[1]。如果工具链中的gcc编译器和ABI是微软的,就是msvc版本;如果是GNU的,就是gnu版本[2]。
请您注意:
- 请不要轻易复制粘贴本文中的命令,请保持仔细和小心,根据您的具体情况更改。
- 本文所提到的环境变量都是指系统环境变量,而不是用户环境变量,请注意区分。
- 您的系统最好具备访问外网的能力(非必须,但推荐),否则可能无法访问下面的某些网站,也无法下载某些资源。
请添加到系统环境变量
正文
故事背景
现在网上几乎所有的Windows安装Rust的教程都是通过rustup安装msvc版本,即便是有个别介绍安装gnu版本的,也是通过rustup来安装。但这不适合在下,第一,在下不想安装Visual Studio C++ Build tools;第二,在利用rustup安装gnu版本的Rust时,总是遇到如下报错(报错信息经过了简化):
could not rename component file from 'D:\aaa\xxx.dll' to 'D:\bbb\xxx.dll': 另一个程序正在使用此文件,进程无法访问。 (os error 32)
在下猜测出错的原因可能是:rustup生成 D:\aaa\xxx.dll 后,该dll被在下电脑上的安全软件扫描了,当rustup想将它移动到另一个位置时,发现文件被占用。问题无解的地方在于,在下没有权限关闭上述安全软件。
于是在下开始了 install rust without rustup 的探索之旅。
步骤
一、安装MinGW64
step1. 到这里下载最新版的编译好的mingw64,如winlibs-x86_64-posix-seh-gcc-12.0.1-snapshot20220123-mingw-w64-9.0.0-r1.7z,注意选择带x86_64字样的下载。



下载MinGW64
step2. 下载后直接解压,将得到的mingw64文件夹拷贝您感兴趣的位置。
step3. 然后配置系统环境变量。比如mingw64文件夹的全路径是 D:\software\mingw64,那就把 D:\software\mingw64\bin 添加到系统的PATH环境中。至于如何添加环境变量,请不会的读者自行学习。对于一些容易的、没有坑的步骤,本文不赘述,下同。
二、安装gnu版Rust
step1. 到这里下载安装包,稳妥起见,下载stable版本。然后正常安装就行,安装过程会自动添加环境变量。可以自定义安装位置,如 D:\software\Rust。



下载gnu版Rust
step2. 打开CMD或PowerShell,运行 cargo -V 和 rustc -V ,如出现类似下面的输出,证明成功。



安装成功截图
三、安装Rust源码
step1. 到这里下载源码。假如,您想要把源码安装在 D:\software 目录下,就把下载好的源码移到这里。



下载Rust源码
step2. 请确保您的系统上有可加压.tar.gz的工具,如7-Zip。
step3. 将解压工具的可执行文件的路径(如 D:\software\7-Zip)添加到系统PATH环境变量。
step4. 以管理员身份(注意,这是必须的)打开CMD或PowerShell,cd到源码所在目录(如 D:\software),依次执行 7z x rustc-1.58.1-src.tar.gz和 7z x rustc-1.58.1-src.tar ,解压后,可得到 rustc-1.58.1-src 文件夹。(注意:1. 如果您不是使用7-Zip作为解压工具,请自行查询您所用工具的解压命令行;2. rustc-1.58.1-src.tar.gz 是下载的源码压缩包,您下载的可能不是这个名字,对应的,解压出的文件夹也不叫 rustc-1.58.1-src;3. 由于压缩包比较大,解压需要较长时间,请耐心等待)
四、配置VSCode + rust-analyzer
step1. 安装VSCode并为其安装rust-analyzer,不会安装VSCode的读者请自行学习,然后用最简单的方法安装rust-analyzer就行,参考这里。此时rust-analyzer多半还不能用,原因是找不到stdlib,请转step2。如果由于网络原因您不能安装rust-analyzer,请自行想办法或转step3.
step2. 添加系统环境变量 RUST_SRC_PATH,值为 D:\software\rustc-1.58.1-src\library(假设上一步您将源码安装在D:\software下,且解压后的源码文件夹名为rustc-1.58.1-src,请根据您的实际情况更改),如下图。配置好环境变量后,重启VSCode,应该就可以了。注意,您需要打开一个rust项目,并耐心等待rust-analyzer加载成功,才能看到下图所示结果。



添加系统环境变量RUST_SRC_PATH



rust-analyzer安装成功截图
step3. 如果您无法用step1的方法安装rust-analyzer,可以编译源码安装。请确保您安装了Node.js(后面会用到其中包含的npm,如果您正常安装了Node.js,npm.exe对应的路径已添加到系统PATH环境变量,如果没有,请您手动添加),同时将 D:\software\VSCode 和 D:\software\VSCode\bin(这里假设您的VSCode的安装路径是 D:\software\VSCode,请根据您的实际情况调整)添加到了系统PATH环境变量。
step4. 请打开CMD或PowerShell(这次不必以管理员身份打开),cd到 D:\software\rustc-1.58.1-src\src\tools\rust-analyzer(请根据您的Rust源码安装位置调整相应的目录),然后依次执行 cargo xtask install 和 cargo xtask install --server 。(编译安装参考了[3],只不过我们上一步安装的Rust源码中已包含了rust-analyzer的源码,不用从github上下载了。编译过程很长,大概20多分钟,请您耐心等待)。
step5. 安装完成后,请根据命令行窗口最后的输出(如 warning: be sure to add `D:\software\Rust\.cargo\bin` to your PATH to be able to run the installed binaries)将对应的路径添加到系统PATH环境变量。另外,不要忘了执行step2。
五、 配置CLion + IntelliJ Rust
step1. 下载安装CLion,如果想免费用,请您自行想办法。然后,打开CLion, 依次点击File -> Settings -> Plugins,搜索Rust,然后点击安装。也可通过先下载插件,再安装的方法,请读者自己学习如何操作。可以参考官网(如果您已能访问外网但还是无法访问该网站,请查看您是否在hosts文件中将jetbrains的相关网站屏蔽)。
step2. 依次点击File -> Settings -> Languages & Frameworks -> Rust,然后进行相关配置。条件所限,恕不能截图,可参考下图(图片来源)。如果您的Rust安装目录是 D:\software\Rust,Rust源码安装目录是 D:\software\rustc-1.58.1-src,那么,第一行配置(Toolchain location)就填 D:\software\Rust\bin,第二行配置(Standard library)就填 D:\software\rustc-1.58.1-src 或 D:\software\rustc-1.58.1-src\library(亲测两者都行)。



配置示意图
step3. 利用CLion打开Rust项目,耐心等待Rust插件初始化成功。
写在后面
本文是在下的实践经验记录,希望能帮到有同样需求的读者。由于在下才疏学浅、能力有限,错误疏漏之处在所难免,欢迎广大读者批评指正,您的批评是在下前进的不竭动力。
参考
[1] What exactly is a Rust "toolchain"? - Stack Overflow
[2] Difference between the gnu and msvc toolchains? : rust
[3] Windows下编译安装rust-analyzer并启用VSCode扩展 - 知乎
不用rustup,Windows下gnu版Rust安装与开发环境配置的更多相关文章
- windows下Qt5.4.2 for android开发环境配置
安装包链接: http://yunpan.cn/cFs5tikVA83hK 访问密码 d029 本人所有的软件都安装在D:/Qt 1. 安装 Qt 5.4.2 不在讲述 2, 安装p ...
- Windows下visual studio code搭建golang开发环境
Windows下visual studio code搭建golang开发环境 序幕 其实环境搭建没什么难的,但是遇到一些问题,主要是有些网站资源访问不了(如:golang.org),导致一些包无法安装 ...
- Ubuntu16.04安装后开发环境配置和常用软件安装
Ubuntu16.04安装后1.安装常用软件搜狗输入法+编辑器Atom+浏览器Chome+视频播放器vlc+图像编辑器GIMP Image Editor安装+视频录制软件RcordMyDesktop安 ...
- Fedora和Ubuntu下安装OpenGL开发环境配置
Fedora下OpenGl开发环境配置 开发OpenGL工程需要3个库文件和对应的头文件: libglut.so,libGLU.so,libGL.so, gl.h ,glu.h, glut.h 这些库 ...
- windows eclipse直接访问远程linux hadoop开发环境配置(符合实际开发的做法)
CDH 5.x搭建请参考CentOS 7离线安装CDH 5.16.1完全指南(含各种错误处理). 如果使用的是cloudera quickstart vm,则只能在linux服务器中使用eclipse ...
- Elementary OS安装及开发环境配置(一)
前言 假期在家无聊,刚好把六年前的一台笔记本电脑利用起来,原来电脑虽然说配置说不上古董机器,但是运行win系统感觉还是不流畅,所幸给换成Linux桌面版系统,在网上查阅了很多,Linux桌面系统要么推 ...
- mysql学习-windows下绿色版mysql安装问题解决办法
1.下载绿色版mysql 从该地址http://dev.mysql.com/downloads/mysql/ 中选择windows的版本,选择下载. 2.将下载的压缩包解压. 3.将根目录下的my-d ...
- Windows下用Eclipse搭建C/C++开发环境
本文假定你已经熟悉Java,Eclipse的安装,并能顺利启动和运行Eclipse.此外因为各软件版本在不断更新,有些地方可能不准确,以最新的.原文资料为准. 距上一次写和调C++程序,已经5.6年了 ...
- windows下sublime text的node.js开发环境搭建
首先安装sublime text3,百度一堆,自己找吧.理论上sublime text2应该也可以.我只能说一句:这个软件实在是太强悍了. 跨平台,丰富的插件体系,加上插件基本上就是一个强悍的ide了 ...
随机推荐
- 原生twig模板引擎详解(安装使用)
最近在学习SSTI(服务器模板注入),所以在此总结一下 0x00 Twig的介绍 什么是Twig? Twig是一款灵活.快速.安全的PHP模板引擎. Twig的特点? 快速:Twig将模板编译为纯粹的 ...
- Oracle update和select 关联
Oracle update和select 关联 目录 Oracle update和select 关联 1.介绍 2.解决方法 2.1.需求 2.2.错误演示 2.3.解决方法 1.介绍 本文主要向大家 ...
- 单篇长文TestNG从入门到精通
简介 TestNG是Test Next Generation的缩写,它的灵感来自于JUnit和NUnit,在它们基础上增加了很多很牛的功能,比如说: 注解. 多线程,比如所有方法都在各自线程中,一个测 ...
- C#进阶——记一次USB HID的各种坑(x86,x64,win10,win7)
一.简叙 写工控上位机的搬砖人,难免会遇到USB通讯,在一个项目中,我写的上位机使用USB HID协议和STM32通讯传输数据,从零大概花了几天找例程,找资料,最后是各种搬砖修补,终于出来了一个出版D ...
- k8s-storage-class
1. 简介 StorageClass 为管理员提供了描述存储 "类" 的方法. 通过StorageClass的定义,管理员可以将存储资源定义为某种类别(Class),正如存储设备对 ...
- GUI系统
通常情况下,一般使用QT来制作Linux系统的GUI,但是由于我们团队对于游戏有着狂热的热爱,以及有游戏的相关开发经验. 在做过ROS与Arduino通信,Unity3d与Arduino通信后,我感觉 ...
- 关于new Date总结及注意事项
记录关于 new Date() 的一些常用方法及问题 new Date()基本方法: 创建一个日期对象的几种方法 注意: 由于浏览器差异和不一致性,强烈建议不要使用Date构造函数(和Date.par ...
- 安装Windows11操作系统(不需要绕过TPM检测脚本等) - 初学者系列 - 学习者系列文章
Windows11操作系统是去年微软公司的最新力作.对于该操作系统的安装,网上有很多的教程了.这次主要写的是不需要绕过TPM检测操作安装Windows11操作系统. 1. 制作启动U盘: ...
- HTML 基础3
表格 示例1: <h4>水平表头+普通边框</h4> <table border="1"> <caption>caption标签展示 ...
- pycharm中操作git
pycharm操作git 1.找到VCS 2.