rust cargo 从入门到放弃
主要内容
本文聚焦于如何以亲身体验的方式劝退那些妄图想学rust的同学。
详细内容
简单概念
- crate 可以简单理解为依赖包,或者说库
- cargo,简单来说就是python 的pip,nodejs 的npm,rust下的包管理工具。
- crates.io,等同于python的pypi.org,nodejs的npmjs.com。
- Cargo.toml,差不多是python的requirements.txt,nodejs的package.json,称为manifest文件,也就是说cargo命令是根据这个文件来决定做什么操作的。
- Cargo.lock,差不多是nodejs的package.lock,至于python,好像没有对应的。
- .travis.yml/.gitlab-ci.yml ,持续集成说明文件
主要命令
cargo new project_name --bin # 如果你想写一个普通的项目
cargo new lib_name --lib --vcs none # 如果你想写一个库
cargo build # 如果你想编译,默认会编译到target/debug/project_name下
cargo run # 如果你想编译并运行
cargo build --release # 如果你想发布,这会做很多优化,并编译到target/release/project_name下
cargo update # 如果你想修改Cargo.lock文件的话,运行它
cargo update -p rand # 如果你只是想更新rand版本的话,运行它
cargo test abc # 如果你想做test,运行它