电子说
安装 Rust
在前端开发中,经常会使用 nvm[2](或 nvm-windows[3])来管理系统上的 Node.js 版本。而在 Rust 中则是使用 rustup[4] 来管理所有和 Rust 相关的工具链,而且它们具有很多相似性:
cargo[5] - rust 版的 npm[6],Rust 的包管理器。
clippy[7] - rust 版的 eslint[8],检查包以捕获常见错误并改进你的 Rust 代码。
rustfmt[9] - rust 版的 prettier[10],格式化当前 crate 的所有 bin 和 lib 文件。
crates.io[11] - rust 版 npm 包管理网站[12]。
macOS、Linux、以及类 Unix 系统安装(如果是 Windows,请参考其他平台安装[13]):
$ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# 升级 $ rustup update # 卸载 $ rustup self uninstall
版本检查
使用 --version 会看到已发布的最新稳定版本的版本号、提交哈希和提交日期,格式如下:
$ rustc --version rustc 1.65.0 (897e37553 2022-11-02) $ cargo --version cargo 1.65.0 (4bc8f24d3 2022-10-20)
版本选择
# 安装 nightly (stable | beta | nightly || ) $ rustup toolchain install nightly
# 查看 Rust 工具链(toolchains, Rust 和其相关组件) $ rustup toolchain list stable-aarch64-apple-darwin stable-x86_64-apple-darwin (default) nightly-aarch64-apple-darwin nightly-x86_64-apple-darwin
# 设置默认为 nightly(全局) $ rustup default nightly stable-aarch64-apple-darwin stable-x86_64-apple-darwin nightly-aarch64-apple-darwin nightly-x86_64-apple-darwin (default)
# 覆盖为 nightly(当前项目) $ cd ~/projects/needs-nightly $ rustup override set nightly stable-aarch64-apple-darwin stable-x86_64-apple-darwin (default) nightly-aarch64-apple-darwin nightly-x86_64-apple-darwin (override) # 移除覆盖(当前项目) $ rustup override unset stable-aarch64-apple-darwin stable-x86_64-apple-darwin (default) nightly-aarch64-apple-darwin nightly-x86_64-apple-darwin
作为一种编程语言,Rust 既关心代码的稳定性(构建坚如磐石应用的基础),也希望拥抱变化(试验新的功能)。所以 Rust 遵循软件发布序列模型,该模型已被 Cisco IOS 和其他软件项目使用。Rust 有三个发布渠道(以 Rust 1.5 为例):
Nightly - 每天发布
Beta - 每周六发布
Stable - 稳定版,每六周发布一次
nightly: * - - * - - * - - * - - * - - * - * - * | | beta: * - - - - - - - - * * | stable: *
Rust 2-3 年会发布一次大版本:每个版本会结合已经落地的功能,提供一个清晰的带有完整更新文档和工具的功能包。新版本会作为常规的六周发布过程的一部分发布。目前 Rust 已经发布了三个大版本(Rust 2015、2018、2021),了解更多:
What are Editions?[14]
How Rust is Made and “Nightly Rust”[15]
安装扩展
Cargo 插件
cargo edit[16] - 该工具扩展了 Cargo 以允许你通过从命令行修改 Cargo.toml 文件来添加、删除和升级依赖项。
cargo-watch[17] - 是一种用于监视基于 Cargo 的项目并在文件更改时运行命令的工具。它专注于 Rust 开发体验,旨在足够灵活以适应大多数情况,而不会变得复杂。
cargo-deny[18] - 用于整理你的依赖项。
cargo-expand[19] - 显示宏扩展结果的子命令。
cargo-fuzz[20] - 用于模糊测试的命令行助手。
cargo-generate[21] - 是一个开发人员工具,通过利用预先存在的 git 存储库作为模板,帮助你快速启动和运行新的 Rust 项目。
cargo-chef[22] - 使用 Docker 层缓存加速 Rust Docker 构建的 cargo 子命令。
cargo-release[23] - 关于释放 rust crate 的所有内容。
cargo-audit[24] - 审核你项目的依赖关系,以查找具有报告给 RustSec Advisory Database[25] 的安全漏洞的板条箱。
rustfix[26] - 自动应用 rustc 提出的建议。
nextest[27] - Rust 的下一代测试运行器。
tarpaulin[28] - Rust 项目的代码覆盖工具。
浏览器插件
Rust Search Extension[29] - 直接在浏览器地址栏搜索文档、crates、内置属性、官方文档、错误代码等。输入关键字 rs 然后按空格键开始,就这么简单!
VS Code 插件
rust-analyzer[30] - 插件提供了对 Rust 编程语言的支持。包含代码提示,类型定义,代码跳转等等(注意:关于 rust 语法提示的插件只需要这一个就够了)。
crates[31] - 是 crates.io 依赖项的插件。旨在帮助开发人员在使用 Cargo.toml 时管理依赖项,鼠标悬停 crate 名称可以显示可用版本列表。
CodeLLDB[32] - 由 LLDB 提供支持的本机调试器。调试 C++、Rust 和其他编译语言。
Even Better TOML[33] - 功能齐全的 TOML 支持,如句法高亮,验证,数组,对象折叠,JSON Schema[34] 等。
国内镜像
国内网络环境常常会导致依赖下载过慢或失败。所以和 npm 国内镜像类似,Rust 也支持镜像地址配置,常用的镜像源有:
清华大学开源软件镜像站[35] - 清华大学开源软件镜像站,致力于为国内和校内用户提供高质量的开源软件镜像、Linux 镜像源服务,帮助用户更方便地获取开源软件。本镜像站由清华大学 TUNA 团队负责维护。
中国科学技术大学开源软件镜像[36] - 是 Debian, Ubuntu, Fedora, Archlinux, CentOS 等多个发行版的官方源。目前是中国大陆高校访问量最大,收录最全的开源软件镜像。
上海交通大学 Linux 用户组 软件源镜像服务[37]
RsProxy & Bytedance[38]
配置文件
$HOME/.cargo/config
# 官方 [source.crates-io] registry = "https://github.com/rust-lang/crates.io-index" # 替换成你偏好的镜像源 replace-with = "sjtu" # 清华大学 [source.tuna] registry = "https://mirrors.tuna.tsinghua.edu.cn/git/crates.io-index.git" # 中国科学技术大学 [source.ustc] registry = "git://mirrors.ustc.edu.cn/crates.io-index" # 如果所处环境不支持 git 协议,可以修改为: # registry = "https://mirrors.ustc.edu.cn/crates.io-index" # 上海交通大学 [source.sjtu] registry = "https://mirrors.sjtug.sjtu.edu.cn/git/crates.io-index"
审核编辑:刘清
全部0条评论
快来发表一下你的评论吧 !