基本环境
rust 基本介绍请看上一篇文章:1. rust 介绍
rustup
介绍
rustup
是 Rust 语言的安装器和版本管理工具。通过 rustup
,可以轻松地安装 Rust 编译器(rustc
)、标准库和文档。它也允许你切换不同的 Rust 版本或目标平台,以及管理多个 Rust 版本。
安装步骤
类 unix 操作系统
在类 Unix(MacOS, Ubuntu, Centos, …Linux)系统中, 打开终端执行以下命令安装 rustup
:
1 |
|
执行安装后,将会下载并安装 Rust 编程语言的官方编译器。
安装途中,会询问你安装配置,如果没有特殊需求,我们输入 1
使用默认配置,并回车。
默认配置及解释如下:
- default host triple:
aarch64-unknown-linux-gnu
是一个目标三元组(target triple),用于指示编译器目标平台的体系结构、厂商、系统、和ABI(应用程序二进制接口)。这个配置告诉 Rust 编译器为哪种类型的系统构建代码。 - default toolchain: 默认情况下,Rust 安装程序会安装
stable
版本的工具链。Rust 有几个发布渠道:稳定版(stable)、测试版(beta) 和 开发版(nightly)。稳定版是经过充分测试,随时可用于生产环境的版。默认使用稳定版工具链是为了保证开发的稳定性和代码的可靠性。 - profile:
default
配置文件会安装 Rust 编程语言的常用组件,例如标准库
、Cargo
和Rustfmt
。Rustup 提供了不同的配置文件,如minimal
,它只安装最必要的组件,或complete
,它包含了所有可用的组件和工具。 - modify PATH variable: Rust 安装程序询问是否要修改环境变量
PATH
。同意修改PATH
会将 Rust 的可执行文件路径(如cargo
、rustc
等)添加到你的系统环境变量PATH
中。这样做的目的是为了确保你可以在任何地方(比如在终端或命令行中)运行 Rust 工具链的命令,无需指定完整的路径。
接下来,安装程序将会安装一系列 rust 工具链:
- cargo: Cargo 是 Rust 的包管理工具,用于管理 Rust 项目的依赖、编译和发布。它相当于其他编程语言中的 npm、pip 等工具。Cargo通过
Cargo.toml
文件追踪项目依赖,并且能够处理项目的构建、测试、文档生成等任务。 - clippy: Clippy 是 Rust 的一种静态分析工具(Linter),用于在代码编写阶段发现常见错误和改进建议。它提供了许多lints(规则),通过对代码进行分析,帮助提升代码的质量和性能。
- rust-docs: 这个组件包含了 Rust 编程语言的标准库文档。此文档允许开发者离线阅读和查找相关API的用法,是学习和参考Rust标准库的重要资料。
- rust-std: 这是 Rust 的标准库组件,包含了预编译的Rust标准库,供目标平台使用。标准库提供了很多编程基础设施,如基本类型、标准宏、I/O操作、线程和并发控制工具等。
- rustc: 这是 Rust 的编译器,负责将 Rust 代码编译成机器代码。
rustc
提供了编译、链接等功能,是Rust程序开发的核心工具。 - rustfmt: Rustfmt 是一个代码格式化工具,用来自动格式化 Rust 代码风格。它通过重写源代码来保证代码风格一致,可读性和风格上的规范性,便于团队合作和项目维护。
安装完成后,重启终端或者执行以下命令使其生效:
1 |
|
windows 系统
直接点击下载安装程序:rustup-init.exe,或者根据 https://rustup.rs/ 官网进行下载。
双击安装程序后,将会弹出小黑框,询问你是否安装了 C++ 构建工具,这里输入 y
跳过即可。
windows 后续安装步骤与类 Unix 安装基本一致,可以直接参考类 Unix 安装部分。
验证安装结果
安装完成后,重新打开终端让更改生效,验证安装是否成功,运行:
1 |
|
此命令显示已安装的 Rust 版本。
rustup 常用命令
1. 更新 rustup
本身
1 |
|
2. 卸载 rustup
1 |
|
3. 查看当前已安装的 Rust 版本
1 |
|
4. rustup
检查更新
1 |
|
5. 更新到最新稳定版
1 |
|
cargo
介绍
cargo 是 Rust 的构建工具和包管理器。使用 cargo,可以方便地创建新项目、构建项目、运行项目、测试项目,并且可以轻松地将你的Rust库发布到 crates.io,Rust的包管理库。
常用命令
1. 创建新项目
1 |
|
创建一个新的项目,会同时生成 Cargo.toml
配置文件与 src
目录,如果是不是在 git
仓库下创建,将同时初始化为 git
仓库。
2. 构建项目
1 |
|
构建项目,会在项目目录下的 target/debug
目录生成可执行文件或库。
3. 构建并运行项目
1 |
|
构建并运行 Rust 程序。
4. 运行测试
1 |
|
运行项目中定义的测试函数。
5. 生成文档
1 |
|
为项目构建文档,便于用户了解库的使用方法和功能。
6. 发布到 crates.io
1 |
|
将库代码打包并发布到 crates.io,允许其他人在他们的项目中作为依赖使用。
编辑器
得益于 Ferrous Systems 公司开源的 rust-analyzer
, 为许多代码编辑器(VS Code、Emacs、Vim 等)都提供了代码补全和跳转定义等功能。
以下是一些常用的 Rust 开发编辑器:
- VS Code : 需安装
rust-analyzer
等插件 - Sublime Text:需安装
Rust Enhanced
等插件 - Zed: 高性能编辑器,自带 Rust 开发环境
- RustRover: JetBrains 公司出的 Rust 专属 IDE
- Intellij IDEA:需安装
Rust
插件,目前插件不再维护。
目前我本人在编写 Rust 程序时在使用 Zed, 主要 Zed 编辑器目前比较干净,没有太多乱七八糟的东西,对于 Rust 更是开箱即用,比较推荐,当然这个根据个人偏好自行选择便是,实际区别不大。
常见问题
在添加新的 crate 到 Cargo.toml
文件并运行 cargo build
时,有时会遇到以下错误:
1 |
|
解决方法
这个问题通常是由于 cargo 尝试访问被锁定的缓存文件导致的。
- 打开终端,进入
~/.cargo
目录, - 使用
ls -a
命令查看是否有.package-cache
文件。 - 如果存在,使用
rm
命令删除该文件即可。
相关资料
- target triple: https://doc.rust-lang.org/nightly/rustc/platform-support.html
- rust 官网:https://www.rust-lang.org/
- rustup 官网:https://rustup.rs/
- rustup 安装方法:https://forge.rust-lang.org/infra/other-installation-methods.html
- crates 官网:https://crates.io/
- cargo 官方文档:https://doc.rust-lang.org/cargo/index.html