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 以及管理这些工具链及其相关部分的方法。
另请参阅:
我见过 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 以及管理这些工具链及其相关部分的方法。
另请参阅: