<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Rust on Jaffrez's Blog</title><link>https://jaffrez.io/tags/rust/</link><description>Recent content in Rust on Jaffrez's Blog</description><generator>Hugo -- 0.155.3</generator><language>zh-cn</language><lastBuildDate>Mon, 16 Feb 2026 00:15:27 +0800</lastBuildDate><atom:link href="https://jaffrez.io/tags/rust/index.xml" rel="self" type="application/rss+xml"/><item><title>安装使用GNU target的Rust</title><link>https://jaffrez.io/posts/e0726e2a/</link><pubDate>Mon, 16 Feb 2026 00:15:27 +0800</pubDate><guid>https://jaffrez.io/posts/e0726e2a/</guid><description>&lt;p&gt;看看网上搭建Rust环境的教程，一般都是使用MSVC作为后端。这里介绍一下如何使用gnu后端搭建。
当然，使用gnu后端也有好几种，比如使用cygwin或者msys2，就我个人而言，我不太喜欢装额外的环境，所以最终选择了winlibs，它是一个打包好的编译器和工具包。&lt;/p&gt;
&lt;h2 id="第一步下载winlibs"&gt;第一步：下载winlibs&lt;/h2&gt;
&lt;p&gt;在这个网址下载&lt;a href="https://winlibs.com/"
target="_blank"
rel="noopener noreferrer"&gt;
winlibs
&lt;/a&gt;
,大部分时候选择最新版本就好。这里我选择了图中的版本。
&lt;figure class="post-figure"&gt;
&lt;div class="post-img-view"&gt;
&lt;img alt="winlibs.com" loading="lazy" src="https://pic.planten.dev/2026/02/f8fd3ba314bf9e7f1116f451628e1295.webp"&gt;
&lt;/div&gt;&lt;figcaption class="post-caption"&gt;winlibs.com&lt;/figcaption&gt;&lt;/figure&gt;
然后解压并移动到合适的位置。例如&lt;code&gt;E:/mingw/&lt;/code&gt;。
接下来需要把gcc所在的位置加入PATH，以便于rust编译器能找到gcc。
打开系统的环境变量设置，将解压后的文件夹中的bin文件夹加入到PATH。
&lt;figure class="post-figure"&gt;
&lt;div class="post-img-view"&gt;
&lt;img alt="用户的PATH变量" loading="lazy" src="https://pic.planten.dev/2026/02/f8cf5b51f9ddc36071dda9a9b0cf5cfd.webp"&gt;
&lt;/div&gt;&lt;figcaption class="post-caption"&gt;用户的PATH变量&lt;/figcaption&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;完成这一切后就可以重启电脑，使环境变量生效。&lt;/p&gt;
&lt;h2 id="第二步开始安装rust"&gt;第二步：开始安装Rust&lt;/h2&gt;
&lt;p&gt;首先打开终端，输入&lt;code&gt;$ gcc[enter]&lt;/code&gt;。如果看到和图片中类似的输出，就说明gcc已经成功的加入到PATH中。&lt;/p&gt;
&lt;p&gt;&lt;figure class="post-figure"&gt;
&lt;div class="post-img-view"&gt;
&lt;img alt="Output" loading="lazy" src="https://pic.planten.dev/2026/02/2f43663ae92a3507c9ee3cc5baf1d0ef.webp"&gt;
&lt;/div&gt;&lt;figcaption class="post-caption"&gt;Output&lt;/figcaption&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;接下来获取Rust的安装包。可以直接点击这个&lt;a href="https://static.rust-lang.org/rustup/dist/x86_64-pc-windows-msvc/rustup-init.exe"
target="_blank"
rel="noopener noreferrer"&gt;
链接
&lt;/a&gt;
下载，或者自行到官网获取。
下载完安装包后，可以配置一个镜像来加快稍后的安装速度。我建议使用字节的&lt;a href="https://rsproxy.cn/"
target="_blank"
rel="noopener noreferrer"&gt;
RsProxy
&lt;/a&gt;
。毕竟不限速（doge）。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;export RUSTUP_DIST_SERVER=&amp;#34;https://rsproxy.cn&amp;#34;
export RUSTUP_UPDATE_ROOT=&amp;#34;https://rsproxy.cn/rustup&amp;#34;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;需要把这两行环境变量加入到shell中。因为我使用的是&lt;a href="https://www.nushell.sh/"
target="_blank"
rel="noopener noreferrer"&gt;
Nushell
&lt;/a&gt;
。所以我改成了对应的&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-nu" data-lang="nu"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;$env&lt;/span&gt;.RUSTUP_DIST_SERVER&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;https://rsproxy.cn&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;$env&lt;/span&gt;.RUSTUP_UPDATE_ROOT&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;https://rsproxy.cn/rustup&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;只需要按照具体的shell修改即可。接下来就是正式安装。回到下载的Rust安装包所在的文件夹。打开终端，使用&lt;code&gt;$ ./rustup-init.exe&lt;/code&gt;启动安装。
&lt;figure class="post-figure"&gt;
&lt;div class="post-img-view"&gt;
&lt;img alt="rust-init.exe" loading="lazy" src="https://pic.planten.dev/2026/02/51463325eb063d1e4df2a9f716edd5b7.webp"&gt;
&lt;/div&gt;&lt;figcaption class="post-caption"&gt;rust-init.exe&lt;/figcaption&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;可以看到3个选项。因为要使用GNU target，所以这里输入&lt;code&gt;$ 3[enter]&lt;/code&gt;。&lt;br&gt;
然后再输入&lt;code&gt;$ 2[enter]&lt;/code&gt;进入自定义安装。&lt;br&gt;
终端中会出现类似于&lt;code&gt;Default host triple? [x86_64-pc-windows-msvc]&lt;/code&gt;的提示。中括号中的是默认选项。如果回车就会自动使用这个。&lt;br&gt;
我们输入&lt;code&gt;x86_64-pc-windows-gnu[enter]&lt;/code&gt;,接下来的几项就是工具链的选择。通常都直接使用默认选项，回车就好。&lt;/p&gt;
&lt;p&gt;等再次出现3个选项时。我们就已经完成了所有的设定，让我们直接输入&lt;code&gt;[enter]&lt;/code&gt;开始安装。
经过一段时间的等待之后，安装完成了，由于配置了镜像，所以安装会比较快速。
&lt;figure class="post-figure"&gt;
&lt;div class="post-img-view"&gt;
&lt;img alt="安装完成" loading="lazy" src="https://pic.planten.dev/2026/02/00df952ec79b951d64d4cd010d090125.webp"&gt;
&lt;/div&gt;&lt;figcaption class="post-caption"&gt;安装完成&lt;/figcaption&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;出现类似的输出就是安装成功。然后需要重启shell或电脑来应用修改的PATH。整个安装过程就完成了。打开终端输入&lt;code&gt;$ rustc[enter]&lt;/code&gt;显示出一长串文档就是安装成功了。&lt;/p&gt;
&lt;h2 id="第三步额外配置"&gt;第三步：额外配置&lt;/h2&gt;
&lt;p&gt;上面为Rust的安装和更新配置了镜像，但是Rust在开发时需要从crates.io下载大量的库，有时候也会很慢，幸运的是，RsProxy也提供了镜像。
在cargo目录下新建一个文件&lt;code&gt;Config.toml&lt;/code&gt;。通常这个目录位于&lt;code&gt;C:/Users/用户名/.cargo&lt;/code&gt;。
我们需要把配置文件放在&lt;code&gt;C:/Users/用户名/.cargo/Config.toml&lt;/code&gt;。在文件中添加如下内容。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt; 1
&lt;/span&gt;&lt;span class="lnt"&gt; 2
&lt;/span&gt;&lt;span class="lnt"&gt; 3
&lt;/span&gt;&lt;span class="lnt"&gt; 4
&lt;/span&gt;&lt;span class="lnt"&gt; 5
&lt;/span&gt;&lt;span class="lnt"&gt; 6
&lt;/span&gt;&lt;span class="lnt"&gt; 7
&lt;/span&gt;&lt;span class="lnt"&gt; 8
&lt;/span&gt;&lt;span class="lnt"&gt; 9
&lt;/span&gt;&lt;span class="lnt"&gt;10
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-toml" data-lang="toml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;source&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;crates-io&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;replace-with&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;rsproxy-sparse&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;source&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;rsproxy&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;registry&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;https://rsproxy.cn/crates.io-index&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;source&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;rsproxy-sparse&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;registry&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;sparse+https://rsproxy.cn/index/&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;registries&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;rsproxy&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;index&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;https://rsproxy.cn/crates.io-index&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;net&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;git-fetch-with-cli&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;这样就可以使用RsProxy下载crates了。&lt;/p&gt;</description></item></channel></rss>