Rust "toolchain" 究竟是什么?

What exactly is a Rust "toolchain"?

我见过 rustup 被称为 "toolchain installer",但是很难找到 Rust 认为 "toolchain" 是什么以及范围是什么的确切定义对于概念。

我已经安装了 Rust 编译器和 Cargo。 rustup 还带来了什么?它只是一个 Rust 版本切换器吗?


作为 .NET 开发人员,也许有一个相似之处使我更容易掌握这个概念?

工具链是编译 Rust 应用程序所需的程序集合的特定版本。包括但不限于:

  • 编译器,rustc
  • 依赖管理器和构建工具,cargo
  • 文档生成器,rustdoc
  • 构成默认平台标准库的静态and/or动态库

可以安装额外的组件,例如

  • 文档
    • Rust 编程语言
    • 标准库
    • 各种书籍和参考资料
  • 静态 and/or 动态库包含用于其他平台交叉编译的标准库
  • 标准库的源代码
  • 额外的实用程序
    • 代码格式化通过rustfmt
    • 来自 clippy
    • 的额外 lints
    • 通过miri
    • 检查未定义的行为
    • 通过 rust-analyzer 或 Rust 语言服务器
    • 的高级编辑器支持

Rustup 提供了安装、删除、更新、select 以及管理这些工具链及其相关部分的方法。

另请参阅: