Rust 生态系统

Rust 生态系统由许多工具组成,主要包括:

  • rustc:Rust 编译器,可将 .rs 文件转换为二进制文件和其他中间格式。

  • cargo:Rust 依赖项管理器和构建工具。Cargo 知道如何下载托管在 https://crates.io 上的依赖项,并在构建项目时将它们传递给 rustc。Cargo 还附带一个内置的测试运行程序,用于执行单元测试。

  • rustup:Rust 工具链安装和更新工具。当 Rust 发布新版本时,此工具用于安装并更新 rustccargo。 此外,rustup 还可以下载标准库的文档。可以同时安装多个版本的 Rust,rustup 会根据需要让你在这些版本之间切换。

关键点:

  • Rust 有一个快速发布时间表,每六周就会发布一次新版本。新版本保持与旧版本的向后兼容性,并添加新功能。

  • 共有三个发布阶段:“稳定版(stable)”、“测试版(beta)”和“夜间版(nightly)”。

  • 新功能会先在“夜间版”上测试,“测试版”会每六周转为“稳定版”。

  • 依赖关系也可以通过其他 registry、git 及文件夹等解析。

  • Rust 区分 版本(edition):当前版本是 Rust 2021。之前的版本是 Rust 2015 和 Rust 2018。

    • 这些版本支持对语言进行向后不兼容的更改。

    • 为防止破坏代码,版本是可选的: 通过 Cargo.toml 文件为 crate 选择合适的版本。

    • 为免分割生态系统,Rust 编译器可以混合使用为不同版本编写的代码。

    • 请注意,不借助 cargo 直接使用编译器的情况相当少见(大多数用户从不这样做)。

    • 值得一提的是,Cargo 本身就是一个功能强大且全面的工具。它能够实现许多高级功能,包括但不限于:

    • 详情请参阅 官方 Cargo Book