Rust 环境搭建和简单了解

597 阅读2分钟

安装

MacOS -> 终端

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

Rustup是Rust安装器和版本管理工具, rust更新非常频繁,使用rustup update更新rust

构建

Cargo:是Rust 的构建工具和包管理器,类似于yarn -> React、cocoapods -> OC 之间的关系。

  • cargo build 可以构建项目; cargo build --release正式发布版
  • cargo check 检查代码,确保能通过编译,但不产生任何可执行文件; cargo checkcargo build 快很多,所以可以使用cargo check连续反复检查代码,提高效率
  • cargo run 可以运行项目
  • cargo test 可以测试项目
  • cargo doc 可以为项目构建文档
  • cargo publish 可以将库发布到 crates.io
  • cargo --version 版本检查

rust的库一般称作 crate,所以crates.io rust的第三方库集合,类似Dart->pubs,oc->github, js -> npm。

编辑器与插件

rust支持多种编辑器,我个人比较喜欢vscode,所以这里推荐几个vscode的插件

  • rust-analyzer: 它会实时编译和分析你的 Rust 代码,提示代码中的错误,并对类型进行标注。比官方rust好用,推荐这个
  • rust syntax:为代码提供语法高亮
  • crates:帮助你分析当前项目的依赖是否是最新的版本
  • better toml:Rust 使用 toml 做项目的配置管理
  • rust test lens:可以帮你快速运行某个 Rust 测试。
  • Tabnine:基于 AI 的自动补全,可以帮助你更快地撰写代码。Deep TabNine还支持Java、C、PHP、Go、C#、Ruby、Objective-C、Rust、Swift、Type、OCaml、Scala、Kotlin、Perl、SQL、HTML、CSS和Bash。主流编程语言几乎都囊括在内

该部分引用 如何使用VSCode配置Rust开发环境(VS Code 安装 Rust 常用插件)

工程格式

截屏2022-03-04 下午7.18.05.png

  • src: 资源文件夹
  • main.rs: 主函数文件,为编写应用代码的地方
  • target:
  • .gitignore: cargo new 工程的时候自动生成的
  • Cargo.lock: 在Cargo.toml添加依赖后,cargo build后自动生成的;类似于iOS中 podfile.lock
  • Cargo.toml: 为Rust项目的cargo配置文件。其中包含了项目的元数据和依赖库,类似于iOS中的podfile。

操作

rustc

  • rustc --version : 查看版本
  • rustc main.rs : 编译
  • rustc 只适合简单的rust程序,对于大的rust程序,还是要使用上面的cargo

问题

  • rust-analyzer:有时会使cargo 一直处于Blocking waiting for file lock on package cache中,记得关掉再cargo build