<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Rust Ecosystem on 断念梦的站点</title><link>https://desistdaydream.github.io/docs/2.%E7%BC%96%E7%A8%8B/%E9%AB%98%E7%BA%A7%E7%BC%96%E7%A8%8B%E8%AF%AD%E8%A8%80/Rust/Rust-Ecosystem/</link><description>Recent content in Rust Ecosystem on 断念梦的站点</description><generator>Hugo</generator><language>zh-cn</language><lastBuildDate>Fri, 07 Aug 2026 17:36:46 +0800</lastBuildDate><atom:link href="https://desistdaydream.github.io/docs/2.%E7%BC%96%E7%A8%8B/%E9%AB%98%E7%BA%A7%E7%BC%96%E7%A8%8B%E8%AF%AD%E8%A8%80/Rust/Rust-Ecosystem/index.xml" rel="self" type="application/rss+xml"/><item><title>Rust Ecosystem</title><link>https://desistdaydream.github.io/docs/2.%E7%BC%96%E7%A8%8B/%E9%AB%98%E7%BA%A7%E7%BC%96%E7%A8%8B%E8%AF%AD%E8%A8%80/Rust/Rust-Ecosystem/Rust-Ecosystem/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://desistdaydream.github.io/docs/2.%E7%BC%96%E7%A8%8B/%E9%AB%98%E7%BA%A7%E7%BC%96%E7%A8%8B%E8%AF%AD%E8%A8%80/Rust/Rust-Ecosystem/Rust-Ecosystem/</guid><description>&lt;h1 id="概述"&gt;概述&lt;a class="td-heading-self-link" href="#%e6%a6%82%e8%bf%b0" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;参考：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://en.wikipedia.org/wiki/Rust_%28programming_language%29#Ecosystem"&gt;Wiki, Rust - Ecosystem&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;Rust Ecosystem(Rust 生态)&lt;/strong&gt; 包括其 &lt;a href="https://desistdaydream.github.io/docs/2.%E7%BC%96%E7%A8%8B/Programming-tools/Compiler/"&gt;Compiler&lt;/a&gt;、标准库以及用于软件开发的其他组件。组件安装通常由 Rust 项目开发的 Rust工具链安装程序 管理。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;rustup # Rust 工具链管理工具&lt;/li&gt;
&lt;li&gt;rustc # 编译器&lt;/li&gt;
&lt;li&gt;cargo # 包管理工具&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id="rustup"&gt;rustup&lt;a class="td-heading-self-link" href="#rustup" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;参考：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/rust-lang/rustup"&gt;GitHub 项目，rust-lang/rustup&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p&gt;rustup 是 Rust 的 toolchain(工具链) 管理器&lt;/p&gt;
&lt;div class="td-alert td-alert--md alert alert-tip" role="alert"&gt;&lt;div class="td-alert-heading alert-heading" role="heading"&gt;rustup 与 rustup-init 是同一个二进制文件&lt;/div&gt;
 &lt;div class="td-alert-body"&gt;
 &lt;p&gt;以 rustup-init 作为文件名运行时，会进入&amp;quot;setup 模式&amp;quot;：把自己拷贝到 &lt;code&gt;$CARGO_HOME/bin/rustup&lt;/code&gt;，再给 rustc、cargo、etc. 命令建一批指向自己的硬链接/代理（这些代理靠&amp;quot;调用时的文件名&amp;quot;来判断该表现成哪个命令），然后修改 PATH，跑一遍 rustup default stable&lt;/p&gt;
 &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;code&gt;rustup&lt;/code&gt;/&lt;code&gt;rustup-init&lt;/code&gt;/&lt;code&gt;~/.cargo/bin/&lt;/code&gt; 下的 &lt;code&gt;rustc&lt;/code&gt;、&lt;code&gt;cargo&lt;/code&gt;、&lt;code&gt;rustfmt&lt;/code&gt;、&lt;code&gt;clippy-driver&lt;/code&gt; 等，在装好之后其实都是&lt;strong&gt;同一个 rustup 二进制的硬链接/拷贝&lt;/strong&gt;，它靠自己被调用时的文件名（&lt;code&gt;argv[0]&lt;/code&gt;）来决定&amp;quot;这次我该表现成哪个工具&amp;quot;，然后转发给 &lt;code&gt;${RUSTUP_HOME}/toolchains/&amp;lt;当前 toolchain&amp;gt;/bin/&lt;/code&gt; 下真正的可执行文件去执行。这个设计模式更接近 &lt;strong&gt;busybox&lt;/strong&gt;（一个二进制，靠文件名分发多种行为）而不是典型的 Go 工具链风格，但&amp;quot;一个核心二进制驱动一大堆看起来独立的命令&amp;quot;这个感觉是对的。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;rustup-init OPTS&lt;/strong&gt;&lt;/p&gt;</description></item></channel></rss>