使用 Rust 1.62.1 Toolset
安装和使用 Rust 1.62.1 Toolset
摘要
使开源包含更多 复制链接链接已复制到粘贴板!
红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。我们从这四个术语开始:master、slave、黑名单和白名单。由于此项工作十分艰巨,这些更改将在即将推出的几个发行版本中逐步实施。详情请查看 CTO Chris Wright 的信息。
第 1 章 Rust Toolset 复制链接链接已复制到粘贴板!
Rust Toolset 是 Red Hat Enterprise Linux (RHEL)上的开发人员。它为 Rust 编程语言、Rust 软件包管理器 Cargo、Rust 格式工具和所需的库提供 Rust c 编译器。
Rust Toolset 作为 Red Hat Enterprise Linux 7 的 Red Hat Developer Tools 的一部分发布。对于 Red Hat Enterprise Linux 8,Rust Toolset 作为一个模块提供。Rust Toolset 作为 Red Hat Enterprise Linux 9 的软件包提供。
1.1. Rust Toolset 组件 复制链接链接已复制到粘贴板!
以下组件作为 Rust Toolset 的一部分提供:
| 名称 | 版本 | 描述 |
|---|---|---|
|
| 1.62.1 | LLVM 的 Rust 编译器前端。 |
|
| 1.62.1 | Rust 的构建系统和依赖项管理器。 |
|
| 1.62.1 | 用于自动格式化 Rust 代码的工具。 |
1.2. Rust Toolset 兼容性 复制链接链接已复制到粘贴板!
Rust Toolset 可用于 Red Hat Enterprise Linux 7 和 Red Hat Enterprise Linux 8 和 Red Hat Enterprise Linux 9,在以下构架中:
- AMD 和 Intel 64 位
- 64 位 ARM (RHEL 8 和 RHEL 9)
- IBM Power Systems, Little Endian
- IBM Power Systems,big Endian (仅 RHEL 7)
- 64-bit IBM Z
1.3. 访问 Red Hat Enterprise Linux 7 上的 Rust Toolset 复制链接链接已复制到粘贴板!
要在 Red Hat Enterprise Linux 7 上安装 Rust Toolset,您必须访问并启用 Red Hat Developer Tools 和 Red Hat Software Collections 软件仓库。
如果这些软件仓库已附加到您的系统,请参阅安装 Rust Toolset。
流程
运行以下命令安装
Wget:yum install wget
# yum install wgetCopy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令下载最新的订阅数据:
subscription-manager refresh
# subscription-manager refreshCopy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令注册您的系统:
subscription-manager register
# subscription-manager registerCopy to Clipboard Copied! Toggle word wrap Toggle overflow 要使用图形用户界面(GUI) 注册您的系统,请按照注册和取消注册系统 指南进行操作。
运行以下命令,显示所有可用订阅列表并标识池 ID:
subscription-manager list --available
# subscription-manager list --availableCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
在以池 ID 开头的行中查找
池 ID。 运行以下命令,附加可让您访问
Red Hat Developer Tools仓库的订阅:subscription-manager attach --pool=<pool ID from the subscription>
# subscription-manager attach --pool=<pool ID from the subscription>Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
将 subscription > 中的 < 池 ID 替换为您在上一步中确定的池 ID。
-
运行以下命令验证将哪些订阅附加到您的系统中:
sudo subscription-manager list --consumed
# sudo subscription-manager list --consumedCopy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令,启用
rhel-7-variant-devtools-rpms存储库:subscription-manager repos --enable rhel-7-<variant>-devtools-rpms
# subscription-manager repos --enable rhel-7-<variant>-devtools-rpmsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 将
<variant> 替换为您的 Red Hat Enterprise Linux 系统变体:server或workstation。使用
服务器访问最广泛的开发工具。
运行以下命令,启用
rhel-变体- rhscl-7-rpms存储库:subscription-manager repos --enable rhel-<variant>-rhscl-7-rpms
# subscription-manager repos --enable rhel-<variant>-rhscl-7-rpmsCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
将
<variant> 替换为您的 Red Hat Enterprise Linux 系统变体:server或workstation。
-
将
运行以下命令,将 Red Hat Developer Tools GPG 密钥添加到您的系统中:
cd /etc/pki/rpm-gpg wget -O RPM-GPG-KEY-redhat-devel https://www.redhat.com/security/data/a5787476.txt rpm --import RPM-GPG-KEY-redhat-devel
# cd /etc/pki/rpm-gpg # wget -O RPM-GPG-KEY-redhat-devel https://www.redhat.com/security/data/a5787476.txt # rpm --import RPM-GPG-KEY-redhat-develCopy to Clipboard Copied! Toggle word wrap Toggle overflow
1.4. 安装 Rust Toolset 复制链接链接已复制到粘贴板!
完成以下步骤以安装 Rust Toolset,包括所有开发和调试工具以及依赖软件包。请注意,Rust Toolset 依赖于 LLVM Toolset。
先决条件
-
在 Red Hat Enterprise Linux 7 中,提供对 Red Hat Developer Tools 内容集访问权限的订阅会附加到您的系统。
要附加订阅,请参阅 Red Hat Enterprise Linux 7 中的 Rust Toolset 的访问权限。 - 已安装所有可用的 Red Hat Enterprise Linux 更新。
流程
在 Red Hat Enterprise Linux 7 上,运行以下命令来安装 Rust-toolset-1.62 集合:
yum install rust-toolset-1.62
# yum install rust-toolset-1.62
在 Red Hat Enterprise Linux 8 中,运行以下命令来安装 Rust-toolset 模块:
yum module install rust-toolset
# yum module install rust-toolset
在 Red Hat Enterprise Linux 9 中,运行以下命令来安装 Rust-toolset 软件包:
dnf install rust-toolset
# dnf install rust-toolset
1.5. 安装 Rust 文档 复制链接链接已复制到粘贴板!
Rust 编程语言书 可作为可安装的文档提供。
先决条件
-
Rust Toolset 已安装。
如需更多信息,请参阅安装 Rust Toolset。
流程
要安装 Rust-doc 软件包,请运行以下命令:
在 Red Hat Enterprise Linux 7 上:
yum install rust-toolset-1.62-rust-doc
# yum install rust-toolset-1.62-rust-docCopy to Clipboard Copied! Toggle word wrap Toggle overflow 您可以在以下路径中找到 Rust 编程语言 书:
/opt/rh/rust-toolset-1.62/root/usr/share/doc/rust/html/index.html。
您可以在以下路径中找到所有 Rust 代码软件包的 API 文档:/opt/rh/rust-toolset-1.62/root/usr/share/doc/rust/html/std/index.html。在 Red Hat Enterprise Linux 8 中:
yum install rust-doc
# yum install rust-docCopy to Clipboard Copied! Toggle word wrap Toggle overflow 您可以在以下路径下找到 Rust 编程语言 书:
/usr/share/doc/rust/html/index.html。
您可以在以下路径中找到所有 Rust 代码软件包的 API 文档:/usr/share/doc/rust/html/std/index.html。在 Red Hat Enterprise Linux 9 中:
dnf install rust-doc
# dnf install rust-docCopy to Clipboard Copied! Toggle word wrap Toggle overflow 您可以在以下路径下找到 Rust 编程语言 书:
/usr/share/doc/rust/html/index.html。
您可以在以下路径中找到所有 Rust 代码软件包的 API 文档:/usr/share/doc/rust/html/std/index.html。
1.6. 安装 Cargo 文档 复制链接链接已复制到粘贴板!
Cargo 是 Rust 的软件包管理器 书,可作为 Cargo 的可安装文档。
先决条件
-
Rust Toolset 已安装。
如需更多信息,请参阅安装 Rust Toolset。
流程
要安装
cargo-doc软件包,请运行:在 Red Hat Enterprise Linux 7 上:
yum install rust-toolset-1.62-cargo-doc
# yum install rust-toolset-1.62-cargo-docCopy to Clipboard Copied! Toggle word wrap Toggle overflow 您可以在以下路径中找到 Cargo 书 :
/opt/rh/rust-toolset-1.62/root/usr/share/doc/cargo/html/index.html。在 Red Hat Enterprise Linux 8 中:
yum install cargo-doc
# yum install cargo-docCopy to Clipboard Copied! Toggle word wrap Toggle overflow 您可以在以下路径中找到 Cargo, Rust 的 Package Manager 书:
/usr/share/doc/cargo/html/index.html。在 Red Hat Enterprise Linux 9 中:
dnf install cargo-doc
# dnf install cargo-docCopy to Clipboard Copied! Toggle word wrap Toggle overflow 您可以在以下路径中找到 Cargo, Rust 的 Package Manager 书:
/usr/share/doc/cargo/html/index.html。
第 2 章 Cargo 构建工具 复制链接链接已复制到粘贴板!
cargo 是 Rust 编译器 Rust c 以及软件包和依赖项 管理器的构建工具和前端。它允许 Rust 项目使用特定版本要求声明依赖项,从而解决完整的依赖项图、下载软件包和构建以及测试整个项目。
Rust Toolset 带有 Cargo 1.62.1。
2.1. Cargo 目录结构和文件放置 复制链接链接已复制到粘贴板!
Cargo 构建工具使用 set convention 来定义 Cargo 软件包中的目录结构和文件放置。运行 cargo new 命令会为清单和项目文件生成软件包目录结构和模板。默认情况下,它还在软件包根目录中初始化一个新的 Git 存储库。
对于二进制程序,Cargo 创建一个目录 project_name,其中包含一个名为 Cargo.toml 的文本文件,以及包含名为 main.rs 的文本文件的子目录。
2.2. 创建 Rust 项目 复制链接链接已复制到粘贴板!
根据 Cargo 约定设置的新 Rust 项目。有关 Cargo 约定的更多信息,请参阅 Cargo 目录结构和文件放置。
流程
运行以下命令来创建 Rust 项目:
在 Red Hat Enterprise Linux 7 上:
scl enable rust-toolset-1.62 'cargo new --bin <project_name>'
$ scl enable rust-toolset-1.62 'cargo new --bin <project_name>'Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
将
<project_name> 替换为您的项目名称。
-
将
在 Red Hat Enterprise Linux 8 中:
cargo new --bin <project_name>
$ cargo new --bin <project_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
将
<project_name> 替换为您的项目名称。
-
将
在 Red Hat Enterprise Linux 9 中:
cargo new --bin <project_name>
$ cargo new --bin <project_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
将
<project_name> 替换为您的项目名称。
-
将
要编辑项目代码,请编辑主可执行文件 main.rs,并将新源文件添加到 src 子目录。
其他资源
- 有关配置项目和添加依赖项的详情,请参考 配置 Rust 项目依赖项。
2.3. 为 Rust 项目创建库 复制链接链接已复制到粘贴板!
完成以下步骤,使用 Cargo 构建工具为您的 Rust 项目创建库。
先决条件
-
现有的 Rust 项目。
有关如何创建 Rust 项目的详情 ,请参考创建 Rust 项目。
流程
要为 Rust 项目创建库,请运行以下命令:
在 Red Hat Enterprise Linux 7 上:
scl enable rust-toolset-1.62 'cargo new --lib <project_name>'
$ scl enable rust-toolset-1.62 'cargo new --lib <project_name>'Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
将
<project_name> 替换为 Rust 项目的名称。
-
将
在 Red Hat Enterprise Linux 8 中:
cargo new --lib <project_name>
$ cargo new --lib <project_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
将
<project_name> 替换为 Rust 项目的名称。
-
将
在 Red Hat Enterprise Linux 9 中:
cargo new --lib <project_name>
$ cargo new --lib <project_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
将
<project_name> 替换为 Rust 项目的名称。
-
将
2.4. 构建 Rust 项目 复制链接链接已复制到粘贴板!
使用 Cargo 构建工具构建您的 Rust 项目。cargo 解析项目的所有依赖项,下载缺少的依赖项,并使用 Rust c 编译器编译它。
默认情况下,项目以 debug 模式构建和编译。有关以发行模式编译项目的详情,请参考 以发行模式构建 Rust 项目。
先决条件
-
现有的 Rust 项目。
有关如何创建 Rust 项目的详情 ,请参考创建 Rust 项目。
流程
要构建由 Cargo 管理的 Rust 项目,请在项目目录中运行:
在 Red Hat Enterprise Linux 7 上:
scl enable rust-toolset-1.62 'cargo build'
$ scl enable rust-toolset-1.62 'cargo build'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在 Red Hat Enterprise Linux 8 中:
cargo build
$ cargo buildCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在 Red Hat Enterprise Linux 9 中:
cargo build
$ cargo buildCopy to Clipboard Copied! Toggle word wrap Toggle overflow
- 要验证 Rust 程序是否可在不需要构建可执行文件时构建,请运行:
cargo check
$ cargo check
2.5. 以发行版本模式构建 Rust 项目 复制链接链接已复制到粘贴板!
使用 Cargo 构建工具以 release 模式构建 Rust 项目。发行模式是优化您的源代码,因此可以提高编译时间,同时确保编译的二进制文件更快地运行。使用此模式生成适合发行版本和生产的优化工件。
cargo 解析项目的所有依赖项,下载缺少的依赖项,并使用 Rust c 编译器编译它。
有关以 debug 模式编译项目的详情,请参考 构建 Rust 项目。
先决条件
-
现有的 Rust 项目。
有关如何创建 Rust 项目的详情 ,请参考创建 Rust 项目。
流程
要以发行版本模式构建项目,请运行:
在 Red Hat Enterprise Linux 7 上:
scl enable rust-toolset-1.62 'cargo build --release'
$ scl enable rust-toolset-1.62 'cargo build --release'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在 Red Hat Enterprise Linux 8 中:
cargo build --release
$ cargo build --releaseCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在 Red Hat Enterprise Linux 9 中:
cargo build --release
$ cargo build --releaseCopy to Clipboard Copied! Toggle word wrap Toggle overflow
- 要验证 Rust 程序是否可在不需要构建可执行文件时构建,请运行:
cargo check
$ cargo check
2.6. 运行 Rust 程序 复制链接链接已复制到粘贴板!
使用 Cargo 构建工具运行 Rust 项目。cargo 首先重建项目,然后运行生成的可执行文件。如果在开发过程中使用,则 cargo run 命令可以正确地解析独立于构建模式的输出路径。
先决条件
-
构建的 Rust 项目。
有关如何构建 Rust 项目的详情,请参考 构建 Rust 项目。
流程
要运行由 Cargo 项目管理的 Rust 程序,请在项目目录中运行:
在 Red Hat Enterprise Linux 7 上:
scl enable rust-toolset-1.62 'cargo run'
$ scl enable rust-toolset-1.62 'cargo run'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在 Red Hat Enterprise Linux 8 中:
cargo run
$ cargo runCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在 Red Hat Enterprise Linux 9 中:
cargo run
$ cargo runCopy to Clipboard Copied! Toggle word wrap Toggle overflow
如果您的程序尚未构建,Cargo 会构建程序,然后再运行它。
2.7. 测试 Rust 项目 复制链接链接已复制到粘贴板!
使用 Cargo 构建工具测试您的 Rust 程序。首先重新构建您的项目,然后运行在项目中找到的测试。请注意,您只能测试免费的 monomorphic,且无参数。功能返回类型必须是 () 或 Result< (),E> where E: Error。
默认情况下,Rust 项目在 debug 模式中测试。有关以发行模式测试项目的详情,请参考在 发行版本模式中测试 Rust 项目。
先决条件
-
构建的 Rust 项目。
有关如何构建 Rust 项目的详情,请参考 构建 Rust 项目。
流程
-
在功能前添加 test 属性
#[test]。 要运行由 Cargo 管理的 Rust 项目的测试,请在项目目录中运行:
在 Red Hat Enterprise Linux 7 上:
scl enable rust-toolset-1.62 'cargo test'
$ scl enable rust-toolset-1.62 'cargo test'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在 Red Hat Enterprise Linux 8 中:
cargo test
$ cargo testCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在 Red Hat Enterprise Linux 9 中:
cargo test
$ cargo testCopy to Clipboard Copied! Toggle word wrap Toggle overflow
2.8. 以发行版本模式测试 Rust 项目 复制链接链接已复制到粘贴板!
使用 Cargo 构建工具,以发行版本模式测试您的 Rust 程序。发行模式是优化您的源代码,因此可以提高编译时间,同时确保编译的二进制文件更快地运行。使用此模式生成适合发行版本和生产的优化工件。
首先重新构建您的项目,然后运行在项目中找到的测试。请注意,您只能测试免费的 monomorphic,且无参数。功能返回类型必须是 () 或 Result< (),E> where E: Error。
有关以调试模式测试项目的详情,请参考 测试 Rust 项目。
先决条件
-
构建的 Rust 项目。
有关如何构建 Rust 项目的详情,请参考 构建 Rust 项目。
流程
-
在功能前添加 test 属性
#[test]。 要在发行版本模式中运行由 Cargo 管理的 Rust 项目的测试,请在项目目录中运行:
在 Red Hat Enterprise Linux 7 上:
scl enable rust-toolset-1.62 'cargo test --release'
$ scl enable rust-toolset-1.62 'cargo test --release'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在 Red Hat Enterprise Linux 8 中:
cargo test --release
$ cargo test --releaseCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在 Red Hat Enterprise Linux 9 中:
cargo test --release
$ cargo test --releaseCopy to Clipboard Copied! Toggle word wrap Toggle overflow
2.9. 配置 Rust 项目依赖项 复制链接链接已复制到粘贴板!
使用 Cargo 构建工具配置 Rust 项目的依赖项。要为 Cargo 管理的项目指定依赖项,请编辑项目目录中的 Cargo.toml 文件并重新构建项目。cargo 下载 Rust 代码软件包及其依赖项,将其存储在本地,构建包括依赖项代码软件包的所有项目源代码,并运行生成的可执行文件。
先决条件
-
构建的 Rust 项目。
有关如何构建 Rust 项目的详情,请参考 构建 Rust 项目。
流程
-
在项目目录中,打开文件
Cargo.toml。 移到标有
[dependencies]的部分。
每个依赖项都列在以下格式的新行中:crate_name = version
crate_name = versionCopy to Clipboard Copied! Toggle word wrap Toggle overflow Rust 代码软件包称为 crates。
- 编辑依赖项。
运行以下命令重建项目:
在 Red Hat Enterprise Linux 7 上:
scl enable rust-toolset-1.62 'cargo build'
$ scl enable rust-toolset-1.62 'cargo build'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在 Red Hat Enterprise Linux 8 中:
cargo build
$ cargo buildCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在 Red Hat Enterprise Linux 9 中:
cargo build
$ cargo buildCopy to Clipboard Copied! Toggle word wrap Toggle overflow
使用以下命令运行项目:
在 Red Hat Enterprise Linux 7 上:
scl enable rust-toolset-1.62 'cargo run'
$ scl enable rust-toolset-1.62 'cargo run'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在 Red Hat Enterprise Linux 8 中:
cargo run
$ cargo runCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在 Red Hat Enterprise Linux 9 中:
cargo run
$ cargo runCopy to Clipboard Copied! Toggle word wrap Toggle overflow
2.10. 为 Rust 项目构建文档 复制链接链接已复制到粘贴板!
使用 Cargo 工具从源代码中生成标记为提取的源代码的文档。请注意,仅针对公共功能、变量和成员提取文档注释。
先决条件
-
构建的 Rust 项目。
有关如何构建 Rust 项目的详情,请参考 构建 Rust 项目。 -
配置的依赖关系。
有关配置依赖项的更多信息,请参阅配置 Rust 项目依赖项。
流程
-
要标记提取的注释,请使用三个斜杠
///,并将您的注释放在文档所在行的开头。
cargo 支持您的评论的 Markdown 语言。 要使用 Cargo 构建项目文档,请在项目目录中运行:
在 Red Hat Enterprise Linux 7 上:
scl enable rust-toolset-1.62 'cargo doc --no-deps'
$ scl enable rust-toolset-1.62 'cargo doc --no-deps'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在 Red Hat Enterprise Linux 8 中:
cargo doc --no-deps
$ cargo doc --no-depsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在 Red Hat Enterprise Linux 9 中:
cargo doc --no-deps
$ cargo doc --no-depsCopy to Clipboard Copied! Toggle word wrap Toggle overflow
生成的文档位于 .target/doc 目录中。
完成以下步骤以安装 WebAssembly 标准库。
先决条件
-
Rust Toolset 已安装。
如需更多信息,请参阅安装 Rust Toolset。
流程
要安装 WebAssembly 标准库,请运行:
在 Red Hat Enterprise Linux 8 中:
yum install rust-std-static-wasm32-unknown-unknown
# yum install rust-std-static-wasm32-unknown-unknownCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在 Red Hat Enterprise Linux 9 中:
dnf install rust-std-static-wasm32-unknown-unknown
# dnf install rust-std-static-wasm32-unknown-unknownCopy to Clipboard Copied! Toggle word wrap Toggle overflow
要将 WebAssembly 与 Cargo 搭配使用,请运行:
在 Red Hat Enterprise Linux 8 中:
cargo <command> --target wasm32-unknown-unknown
# cargo <command> --target wasm32-unknown-unknownCopy to Clipboard Copied! Toggle word wrap Toggle overflow 将 < 命令> 替换为您要运行的 Cargo 命令。
在 Red Hat Enterprise Linux 9 中:
cargo <command> --target wasm32-unknown-unknown
# cargo <command> --target wasm32-unknown-unknownCopy to Clipboard Copied! Toggle word wrap Toggle overflow 将 < 命令> 替换为您要运行的 Cargo 命令。
2.12. Vendoring Rust 项目依赖项 复制链接链接已复制到粘贴板!
创建 Rust 项目依赖项的本地副本,以使用 Cargo 构建工具离线重新分配和重复使用。此过程称为供应商项目依赖项。厂商的依赖项,包括 Rust 代码软件包,用于在 Windows 操作系统上构建项目,位于 供应商 目录中。Cargo 可以使用厂商的依赖项,而无需连接到互联网。
先决条件
-
构建的 Rust 项目。
有关如何构建 Rust 项目的详情,请参考 构建 Rust 项目。 -
配置的依赖关系。
有关配置依赖项的更多信息,请参阅配置 Rust 项目依赖项。
流程
要使用 Cargo 依赖项厂商您的 Rust 项目,请在项目目录中运行:
在 Red Hat Enterprise Linux 7 上:
scl enable rust-toolset-1.62 'cargo vendor'
$ scl enable rust-toolset-1.62 'cargo vendor'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在 Red Hat Enterprise Linux 8 中:
cargo vendor
$ cargo vendorCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在 Red Hat Enterprise Linux 9 中:
cargo vendor
$ cargo vendorCopy to Clipboard Copied! Toggle word wrap Toggle overflow
第 3 章 Rustfmt 格式化工具 复制链接链接已复制到粘贴板!
使用 Rustfmt 格式化工具,您可以自动格式化 Rust 程序的源代码。您可以将 rusftmt 用作独立工具,也可以使用 Cargo。
3.1. 安装 Rustfmt 复制链接链接已复制到粘贴板!
完成以下步骤以安装 Rustfmt 格式 工具。
先决条件
-
Rust Toolset 已安装。
如需更多信息,请参阅安装 Rust Toolset。
流程
运行以下命令来安装 Rust fmt :
在 Red Hat Enterprise Linux 7 上:
yum install rust-toolset-1.62-rustfmt
# yum install rust-toolset-1.62-rustfmtCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在 Red Hat Enterprise Linux 8 中:
yum install rustfmt
# yum install rustfmtCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在 Red Hat Enterprise Linux 9 中:
dnf install rustfmt
# dnf install rustfmtCopy to Clipboard Copied! Toggle word wrap Toggle overflow
3.2. 使用 Rustfmt 作为独立工具 复制链接链接已复制到粘贴板!
使用 Rustfmt 作为独立工具来格式化 Rust 源文件及其所有依赖项。另外,将 Rust fmt 与 Cargo 构建工具一起使用。如需更多信息,请参阅使用带有 Cargo 的 Rustfmt。
先决条件
-
现有的 Rust 项目。
有关如何创建 Rust 项目的详情 ,请参考创建 Rust 项目。
流程
要使用 Rustfmt 作为独立 工具 格式化 Rust 源文件,请运行以下命令:
在 Red Hat Enterprise Linux 7 上:
scl enable rust-toolset-1.62 'rustfmt <source-file>'
$ scl enable rust-toolset-1.62 'rustfmt <source-file>'Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
将
<source_file> 替换为源文件的名称。
另外,您可以将 <source_file> 替换为标准输入。然后Rustfmt 在标准输出中提供其输出。
-
将
在 Red Hat Enterprise Linux 8 中:
rustfmt <source-file>
$ rustfmt <source-file>Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
将
<source_file> 替换为源文件的名称。
另外,您可以将 <source_file> 替换为标准输入。然后Rustfmt 在标准输出中提供其输出。
-
将
在 Red Hat Enterprise Linux 9 中:
rustfmt <source-file>
$ rustfmt <source-file>Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
将
<source_file> 替换为源文件的名称。
另外,您可以将 <source_file> 替换为标准输入。然后Rustfmt 在标准输出中提供其输出。
-
将
默认情况下,Rust fmt 在不显示详情或创建备份的情况下修改受影响的文件。要显示详情并创建备份,请运行带有 --write-mode 值 的 Rustfmt。
3.3. 使用带有 Cargo 构建工具的 Rustfmt 复制链接链接已复制到粘贴板!
使用带有 Cargo 的 Rustfmt 工具格式化 Rust 源文件及其所有依赖项。
作为替代方案,使用 Rust fmt 作为独立工具。如需更多信息,请参阅使用 Rustfmt 作为独立工具。
先决条件
-
现有的 Rust 项目。
有关如何创建 Rust 项目的详情 ,请参考创建 Rust 项目。
流程
要格式化 Cargo 代码软件包中的所有源文件,请运行以下命令:
在 Red Hat Enterprise Linux 7 上:
scl enable rust-toolset-1.62 'cargo fmt'
$ scl enable rust-toolset-1.62 'cargo fmt'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在 Red Hat Enterprise Linux 8 中:
cargo fmt
$ cargo fmtCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在 Red Hat Enterprise Linux 9 中:
cargo fmt
$ cargo fmtCopy to Clipboard Copied! Toggle word wrap Toggle overflow
要更改 Rust fmt 格式选项,请在 项目目录中创建配置文件 Rustfmt.toml,并将您的配置添加到文件中。
第 4 章 在 RHEL 8 中使用 Rust Toolset 的容器镜像 复制链接链接已复制到粘贴板!
在 RHEL 8 中,您可以使用 Containerfiles 在 Red Hat Universal Base Images (UBI)容器上构建自己的 Rust Toolset 容器镜像。
4.1. 在 RHEL 8 上创建 Rust Toolset 的容器镜像 复制链接链接已复制到粘贴板!
在 RHEL 8 中,Rust Toolset 软件包是 Red Hat Universal Base Images (UBI)软件仓库的一部分。要让容器大小小,请只安装独立的软件包,而不是整个 Rust Toolset。
先决条件
-
一个现有的 Containerfile。
有关创建 Containerfiles 的更多信息,请参阅 Dockerfile 参考 页面。
流程
- 访问 红帽容器目录。
- 选择 UBI。
- 点 Get this image 并按照说明进行操作。
- 要创建包含 Rust Toolset 的容器,请在 Containerfile 中添加以下行:
FROM registry.access.redhat.com/ubi8/ubi:latest RUN yum install -y rust-toolset
FROM registry.access.redhat.com/ubi8/ubi:latest
RUN yum install -y rust-toolset
- 要创建仅包含单个软件包的容器镜像,请在 Containerfile 中添加以下行:
RUN yum install <package-name>
RUN yum install <package-name>
-
将 <
package_name> 替换为您要安装的软件包的名称。
第 5 章 Rust 1.62.1 Toolset 中的更改 复制链接链接已复制到粘贴板!
Rust Toolset 已从 RHEL 7、RHEL 8 和 RHEL 9 上的 1.58.0 版本更新至 1.62.1。
主要变更包括:
-
解构赋值允许模式在赋值的左侧赋值现有的变量。例如,元组赋值可以交换变量:
(a、b) =(b、a) -
现在,使用
core::arch::asm!宏在 64 位 x86 和 64 位 ARM 上支持内联汇编。请参阅参考"/usr/share/doc/rust/html/reference/inline-assembly.html"一章中的"Inline assembly"章节(在线位于 https://doc.rust-lang.org/reference/inline-assembly.html) -
枚举现在可以使用显式注解的
#[default]变体派生Default特征。 -
Mutex、CondVar和RwLock现在使用基于自定义的futex实现,而非 pthreads,Rust 语言保证提供了新的优化。 -
Rust 现在支持
main中的自定义退出代码,包括实现新稳定的Termination特征的用户定义的类型。 - cargo 支持更多对依赖项功能的控制。"dep:"前缀可以在不公开为功能的情况下引用可选的依赖项,而"?"仅在其它地方启用了依赖项功能,如 "package-name?/feature-name"。
-
cargo 有一个新的
cargo add子命令,用于向Cargo.toml添加依赖项。