mac系统开发
1.安装rust环境
rust 官网安装
https://www.rust-lang.org/zh-CN/tools/install
rust 文档资料: https://kaisery.github.io/trpl-zh-cn/
https://github.com/KaiserY/trpl-zh-cn/tree/main?tab=readme-ov-file
中文社区: https://rustcc.cn/
工作机会:https://rustjobs.dev/
rust官方库: https://crates.io/
rust 标准库: https://doc.rust-lang.org/std/index.html
rust并发原子书籍: https://marabos.nl/atomics/
rust正向反向代理教程: https://blog.wmproxy.net/category
jike
练手项目
githubsunface/rust-by-practice : https://github.com/sunface/rust-by-practice
100个练手项目
100个练手项目github
v2exrust 博主总结: https://v2ex.com/t/1056425#reply13
brew upgrade
brew install rustup-init
进入/opt/homebrew/Cellar/rustup-init/1.23.1/bin
运行 rustup-init
然后有3个默认选项, 我选择第一个默认安装, 2 是自定义安装, 3 是取消安装
屏幕出现成功字样 Rust is installed now. Great!
最后执行这句,让环境变量生效 source $HOME/.cargo/env
安装好了后执行,并查看版本
rustc -V
rustc 1.63.0 (4b91a6ea7 2022-08-08)
或者
rustc --version
rustc 1.63.0 (4b91a6ea7 2022-08-08)
2.创建 rust 项目
cargo new hello
在hello项目里面 cargo build ,会在 target/debug 生成二进制名字
cargo run ,会在线运行项目
3.代理配置
vim $HOME/.cargo/config.toml
[http]
proxy="127.0.0.1:7890"
// 重新打开终端
cargo install crm // 安装进度条
4.开发坏境搭建
- vscode插件
- rust-analyzer
- Error Lens
5.创建项目
·隐式地使用rustc进行编译
·命令
·创建
cargo new project_name
·cargo new--lib project_name创建一个新的Rust库项目的
·构建项目(生成二进制可执行文件或库文件)
·cargo build
·cargo build-release为生成优化的可执行文件,常用于生产环境
·检测
·cargo check
·运行/测试
cargo run/cargo test
6.依赖添加
官方包地址:https://crates.io/
Cargo插件cargo-edit
安装
cargo install cargo-edit
添加库
cargo add dependency_name
安装指定版本
cargo add dependency_name@1.2.3
添加开发时用的依赖库
cargo add --dev dev_dependency_name
添加构建时用的依赖库
cargo add --build build dependency_name
删除库
cargo rm dependency_name
workspace 公共库共享
[workspace.dependencies]
env_logger = "0.11.3"
在子的Cargo.toml 里面 使用固定版本
[dependencies]
env_logger = { workspace = true }
7.镜像源
https://rsproxy.cn/#getStarted
8.Cargo.toml 依赖和一些配置
运行: cargo run --bin app7_1
编译稳定版: cargo build --bin app7_1 -r
[dependencies]
# 依赖包
rand = "0.8.5"
[[bin]]
# 指定多个可执行文件 cargo run --bin main
name = "main"
path = "src/main.rs"
[[bin]]
# cargo run --bin app3_1
name = "app3_1"
path = "src/app3.1/main.rs"
[[bin]]
name = "app3_2"
path = "src/app3.2/main.rs"
[lib]
name = "app7_1_lib"
path = "src/app7.1/lib.rs"
8.一些常用的宏
#[allow(unused)] - 未使用
#[allow(unused_variables)] - 未使用的变量
#[derive(Debug)] - {:#?} 打印
9.其他的一些命令
指定更新某个库
cargo update -p serde
指定锁住更新
cargo build --locked
打开文档
cargo doc --open
设置 --bin 自定义,命令 cargo run --bin hecto4_3
# Cargo.toml 添加
[[bin]]
name = "hecto4_3"
path = "src/main.rs"
定义完整警告
对应宏例如
#![warn(clippy::all, clippy::pedantic, clippy::print_stdout)]
cargo clippy
examples 文件测试
cargo run -p hecto3_11 --example vec_test
使用夜版检查依赖项是否使用
安装夜版
rustup toolchain install nightly
安装插件
cargo install cargo-udeps
# 默认是检测src 目录的
cargo +nightly udeps
# 全部目录
cargo +nightly udeps --all-targets
还有其他命令等