基本环境

rust 基本介绍请看上一篇文章:1. rust 介绍

rustup

介绍

rustup 是 Rust 语言的安装器和版本管理工具。通过 rustup,可以轻松地安装 Rust 编译器(rustc)、标准库和文档。它也允许你切换不同的 Rust 版本或目标平台,以及管理多个 Rust 版本。

安装步骤

类 unix 操作系统

在类 Unix(MacOS, Ubuntu, Centos, …Linux)系统中, 打开终端执行以下命令安装 rustup

1
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

执行安装后,将会下载并安装 Rust 编程语言的官方编译器。

安装途中,会询问你安装配置,如果没有特殊需求,我们输入 1 使用默认配置,并回车。

默认配置及解释如下

  1. default host tripleaarch64-unknown-linux-gnu 是一个目标三元组(target triple),用于指示编译器目标平台的体系结构、厂商、系统、和ABI(应用程序二进制接口)。这个配置告诉 Rust 编译器为哪种类型的系统构建代码。
  2. default toolchain: 默认情况下,Rust 安装程序会安装 stable 版本的工具链。Rust 有几个发布渠道:稳定版(stable)测试版(beta)开发版(nightly)。稳定版是经过充分测试,随时可用于生产环境的版。默认使用稳定版工具链是为了保证开发的稳定性和代码的可靠性。
  3. profiledefault 配置文件会安装 Rust 编程语言的常用组件,例如标准库CargoRustfmt。Rustup 提供了不同的配置文件,如 minimal,它只安装最必要的组件,或 complete,它包含了所有可用的组件和工具。
  4. modify PATH variable: Rust 安装程序询问是否要修改环境变量 PATH。同意修改 PATH 会将 Rust 的可执行文件路径(如 cargorustc 等)添加到你的系统环境变量 PATH 中。这样做的目的是为了确保你可以在任何地方(比如在终端或命令行中)运行 Rust 工具链的命令,无需指定完整的路径。

接下来,安装程序将会安装一系列 rust 工具链:

  1. cargo: Cargo 是 Rust 的包管理工具,用于管理 Rust 项目的依赖、编译和发布。它相当于其他编程语言中的 npm、pip 等工具。Cargo通过Cargo.toml文件追踪项目依赖,并且能够处理项目的构建、测试、文档生成等任务。
  2. clippy: Clippy 是 Rust 的一种静态分析工具(Linter),用于在代码编写阶段发现常见错误和改进建议。它提供了许多lints(规则),通过对代码进行分析,帮助提升代码的质量和性能。
  3. rust-docs: 这个组件包含了 Rust 编程语言的标准库文档。此文档允许开发者离线阅读和查找相关API的用法,是学习和参考Rust标准库的重要资料。
  4. rust-std: 这是 Rust 的标准库组件,包含了预编译的Rust标准库,供目标平台使用。标准库提供了很多编程基础设施,如基本类型、标准宏、I/O操作、线程和并发控制工具等。
  5. rustc: 这是 Rust 的编译器,负责将 Rust 代码编译成机器代码。rustc提供了编译、链接等功能,是Rust程序开发的核心工具。
  6. rustfmt: Rustfmt 是一个代码格式化工具,用来自动格式化 Rust 代码风格。它通过重写源代码来保证代码风格一致,可读性和风格上的规范性,便于团队合作和项目维护。

安装完成后,重启终端或者执行以下命令使其生效:

1
source "$HOME/.cargo/env"

windows 系统

直接点击下载安装程序:rustup-init.exe,或者根据 https://rustup.rs/ 官网进行下载。

双击安装程序后,将会弹出小黑框,询问你是否安装了 C++ 构建工具,这里输入 y 跳过即可。

windows 后续安装步骤与类 Unix 安装基本一致,可以直接参考类 Unix 安装部分。

验证安装结果

安装完成后,重新打开终端让更改生效,验证安装是否成功,运行:

1
rustc --version

此命令显示已安装的 Rust 版本。

rustup 常用命令

1. 更新 rustup 本身

1
rustup self update

2. 卸载 rustup

1
rustup self uninstall

3. 查看当前已安装的 Rust 版本

1
rustup show

4. rustup 检查更新

1
rustup check

5. 更新到最新稳定版

1
rustup update

cargo

介绍

cargo 是 Rust 的构建工具和包管理器。使用 cargo,可以方便地创建新项目、构建项目、运行项目、测试项目,并且可以轻松地将你的Rust库发布到 crates.io,Rust的包管理库。

常用命令

1. 创建新项目

1
cargo new <project_name>

创建一个新的项目,会同时生成 Cargo.toml 配置文件与 src 目录,如果是不是在 git 仓库下创建,将同时初始化为 git 仓库。

2. 构建项目

1
cargo build

构建项目,会在项目目录下的 target/debug 目录生成可执行文件或库。

3. 构建并运行项目

1
cargo run

构建并运行 Rust 程序。

4. 运行测试

1
cargo test

运行项目中定义的测试函数。

5. 生成文档

1
cargo doc

为项目构建文档,便于用户了解库的使用方法和功能。

6. 发布到 crates.io

1
cargo publish

将库代码打包并发布到 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
Blocking waiting for file lock on package cache

解决方法

这个问题通常是由于 cargo 尝试访问被锁定的缓存文件导致的。

  1. 打开终端,进入 ~/.cargo 目录,
  2. 使用 ls -a 命令查看是否有 .package-cache 文件。
  3. 如果存在,使用 rm 命令删除该文件即可。

相关资料


基本环境
https://blog.pangcy.cn/2023/09/16/后端编程相关/rust/rust 基础/基本环境/
作者
子洋
发布于
2023年9月16日
许可协议