安装
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 check比cargo build快很多,所以可以使用cargo check连续反复检查代码,提高效率cargo run可以运行项目cargo test可以测试项目cargo doc可以为项目构建文档cargo publish可以将库发布到 crates.iocargo --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。主流编程语言几乎都囊括在内
工程格式
- 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