rust学习一、入门之搭建简单开发环境
最近希望学习一些新的,选择了rust.
本篇介绍怎么搭建一个非常简单的windows开发环境,以及如何使用cargo 命令
1、搭建开发环境(windows11)
a.登录官网
https://www.rust-lang.org/tools
一看就明白,此处略。
b.安装rustup
一看就明白,此处略。
c.安装 cargo script
cargo install cargo-script
完成后
注意:时间有一点点久。
测试
cargo script main.rs
这个东西可以运行一个单独的rs文件,在学习基础的时候非常有用
注:cargo-script很久没有更新,建议使用rust-script之类的。
d.安装ide
有多个选择,包括eclipse,jebrain(rustover),vscode。
如果要安装jetbrain的,可以下载https://www.jetbrains.com/rust//download/download-thanks.html?platform=windows
类似rustover这样的工具的好处之一:看标准库和外部单元包的代码会更加方便一些。
在初学阶段,个人更喜欢使用cargo的命令行来运行。强烈建议初学者这样入门更好一些。
f.找几个值得关注的网站
- 官网 https://www.rust-lang.org/ 流畅,不需要fq
个人强烈建议在学习过程中,使用它的在线文档
https://doc.rust-lang.org/reference/introduction.html
这个文档可以辅助其它友好型更高的文档,帮助快速入门。
- 仓库 https://crates.io/ 流畅,不需要fq
- 中文说明 https://kaisery.github.io/trpl-zh-cn/foreword.html ,入门看看可以,如果要适配版本,需要看英文https://www.rust-lang.org/
- https://rustwiki.org/ 是 https://www.rust-lang.org/ ,如果能看英文还是看英文,避免翻译障碍和版本问题
- https://zhuanlan.zhihu.com/p/688906139 知乎关于rust组件的
- https://lib.rs/ 用于搜索rust有关的库,内容极多, 看来rust还是挺受欢饮
- https://course.rs/ 这个好像也还可以
入门大体是够了。
特别注意: 中文版本文档更新滞后比较多,如果你会有时发现文档是错误的!!!
2、cargo命令
这是一个极其重要的工具,某种程度上类似mvn,但是比后者强大太多了。
2.1 查看cargo参数
在cmd下执行 cargo --help 可以查看常见的命令,具体效果因版本不同而不同,以下是1.81.0
cargo --help
如果要看更多的可以输入
cargo --list
如果想看更加详细,则可以看官网的文档:
https://doc.rust-lang.org/book/
2.2 常见的cargo命令
以下假设工程是在windows E:\learning\gitee\learnRust下,为了便于行文,以下使用$project替代
- 安装/卸载三方包(可执行程序) cargo install/uninstall. install有不少参数,包括可以查看安装了什么可执行程序
cargo install --list可以查看安装了什么:
- 更新依赖 cargo update
- 查找包(crate) cargo search
- 查看项目依赖包 cargo tree
这个命令的说明比较多,常见的如cargo tree --depth n ,其中n是一个自然数
- 工程-创建 cargo new projectName
在$project下会生成cargo.toml文件,这个文件可以编辑。更多信息只能阅读高级内容,此处略。
- 工程-重新初始化 cargo init ,在一个存在的目录中执行初始化
- 工程-添加/删除依赖 cargo add/remove(rm) ...
会修改cargo.toml,类似maven修改pom.xml
- 工程-构建 cargo build/b
在$project\target\debug 生成debug版本
- 工程-发布 cargo build --realease
在$project\target\release 下生成发布版本
- 工程-运行测试版本 cargo run/r
run命令有许多参数和选项,可以通过cargo help run来阅读,也可以看有关资料。
- 工程-运行发布版本 cargo run --release / -r
- 工程-检查 cargo check/c
- 工程-测试 cargo test/t
- 工程-移除target目录 cargo clean
- 工程-发布 cargo publish 打包和上传到仓库
注意,cargo还为其中几个极其常用的命令提供了缩写,分别是:
- build - b
- check -c
- run -r
- test -t
- remove -rm
2.3 cargo其它命令
其它的主要是一些关于仓库(包括代码仓库git和cargo仓库)的,以及其它一些乱七八糟的常规命令,例如
查看版本 cargo --version
查看命令帮助 cargo help xxx,例如cargo help run
查看文档 cargo doc ,这还是不错的
第一次运行的时候,cargo会先下载文档:
下载了之后就可以查看了 cargo doc --open ,会在浏览器上打开当前项目有关的文档
实际就是在$project\target\doc下创建html,并打开index.html。
这个还是非常方便的。
具体略。
3、其它几个命令
rustup -- 安装rust工具链,构建开发环境
rustc -- rust编译器,这个是实际的核心
4、小结
rust的开发环境很友好,令人惊讶。个人觉得比学习java更加方便。
这是因为有个强大的cargo工具。
所以掌握cargo工具非常有必要,有了这个,即使没有专业的ide,也可以修改、编译、发布程序。
cargo的命令除了固有的一些,还有许多命令是可以通过cargo install而获得,例如cargo script
rust-script 是一个很强大的工具,非常适合初学者学习,强烈建议初学者掌握这个!在初级阶段,集成工具不是那么重要,集成工具对于单独调试倒是挺好用的。
rust的有关事物的命名都十分古怪,什么rust,cargo,crate...
希望后面rust不要为了创新而创新,弄一些非业内公知的名词,徒然浪费大家的时间。