Rust 生态系统
Rust 生态系统由许多工具组成,主要包括:
-
rustc
:Rust 编译器,可将.rs
文件转换为二进制文件和其他中间格式。 -
cargo
:Rust 依赖项管理器和构建工具。Cargo 知道如何下载托管在 https://crates.io 上的依赖项,并在构建项目时将它们传递给rustc
。Cargo 还附带一个内置的测试运行程序,用于执行单元测试。 -
rustup
:Rust 工具链安装和更新工具。当 Rust 发布新版本时,此工具用于安装并更新rustc
和cargo
。 此外,rustup
还可以下载标准库的文档。可以同时安装多个版本的 Rust,rustup
会根据需要让你在这些版本之间切换。
关键点:
-
Rust 有一个快速发布时间表,每六周就会发布一次新版本。新版本保持与旧版本的向后兼容性,并添加新功能。
-
共有三个发布阶段:“稳定版(stable)”、“测试版(beta)”和“夜间版(nightly)”。
-
新功能会先在“夜间版”上测试,“测试版”会每六周转为“稳定版”。
-
依赖关系也可以通过其他 registry、git 及文件夹等解析。
-
Rust 区分 版本(edition):当前版本是 Rust 2021。之前的版本是 Rust 2015 和 Rust 2018。
-
这些版本支持对语言进行向后不兼容的更改。
-
为防止破坏代码,版本是可选的: 通过
Cargo.toml
文件为 crate 选择合适的版本。 -
为免分割生态系统,Rust 编译器可以混合使用为不同版本编写的代码。
-
请注意,不借助
cargo
直接使用编译器的情况相当少见(大多数用户从不这样做)。 -
值得一提的是,Cargo 本身就是一个功能强大且全面的工具。它能够实现许多高级功能,包括但不限于:
- 项目/软件包结构
- 工作区
- 开发依赖和运行时依赖管理/缓存
- 构建脚本
- 全局安装
- 它还可以使用子命令插件(例如 cargo clippy)进行扩展。
-
详情请参阅 官方 Cargo Book
-