mac环境下 rust 环境安装

mac环境下 rust 环境安装

Stack Overflow 2022 开发者调查报告现已出炉。Stack Overflow 年度开发者调查是面向全球开发者进行的规模最大、最全面的调查,调查涵盖了从开发者喜爱的技术到工作偏好等内容。2022 年是 Stack Overflow 发布年度开发者调查报告的第十二年,有来自 180 个国家 / 地区的 73000 多名开发人员参与了这个调查。其中,依旧是来自美国和印度的受访者数量最多,其次是德国和 UKI(英国和爱尔兰);仅有 632 份调查反馈来自中国开发者,占比为 0.88%。

rust的应用场景

Rust 已连续第七年成为最受喜爱的语言,87% 的开发人员表示他们希望继续使用它。
Rust最爽的是可以从 C++调用 rust,以前大部分语言都是只能调用 C++,C++反过来是不能直接调用的,都要比较麻烦的接口。rust同 C++的无缝结合,正可以从 lib层慢慢替换各个各个原有模块

Rust最容易吸引的人群可能是C++程序员:因为,一方面解决了不少C++的痛点,另一方面Rust的很多特性其实有点复杂也有点门槛的。这些特性背后的动因有C++背景的程序员是非常容易理解,也是不少C++程序员梦寐以求的。相对而言,其他语言背景出身的程序员,对Rust的共鸣性远远没有C++程序员强烈。
Rust的主要目标是弥补C++的很多不足最终可以完全替代C++, 能写出更安全稳定且性能不输C++的程序

但编程语言没有十全十美的设计,Rust满足了安全稳定和性能, 是以开发效率和上手难度的代价换来的

也就是说Rust主要的领域在功能较稳定的底层模块, 不太适合写需求大量易变的上层逻辑

rust面临的生态问题和开发优势

1.内存安全模型,这是趟过c/c++坑的人的共识,也是业界的共识,大型c++项目如os,游戏引擎,浏览器等,70%的bug都是因为内存安全引起。

2.高性能,无运行时,不像c#,java,go一样有gc,这样理论上可以做到和c一样的目标代码的运行效 率。

3.拥抱web,随着web上的应用越来越复杂,未来可见的wasm,rust是最佳语言,跟上面一条一样,因为无运行时,rust编译出来的wasm极小,这在web环境下是非常重要的。虽然c/c++编译成wasm也同样很小,但项目组织和包管理比rust复杂多了。

Google开始在Rust OS底层开发中逐步使用Rust替代C++。主要是针对新项目,老的C++不会动的。

安装

今天我们就在mac开发环境下安装一下rust

先上资料:https://www.rust-lang.org/zh-CN/tools/install

执行 curl --proto ‘=https’ --tlsv1.2 -sSf https://sh.rustup.rs | sh
进行rust的安装
期间会弹出一个input,一般开发者输入1就可以。
安装过程如下:

安装成功后可以使用rustc -V来查询版本
在这里插入图片描述
大功告成。

创建项目并测试

使用cargo命令创建项目, cargo new project
mac环境下 rust 环境安装_第1张图片
看一下项目名称是否正确
mac环境下 rust 环境安装_第2张图片
进入项目进行编辑执行 :

cargo build进行编译
cargo run进行执行

mac环境下 rust 环境安装_第3张图片

大功告成!@@!

idea编辑器插件安装

安装IntelliJ插件

需要安装两个插件 intellij-rust和intellij-toml, intellij-rust是Rust语言插件,intellij-toml是为Toml语言的插件,是为cargo的配置文件cargo.toml使用。

安装方式:Perferences… -> Plugins 在Marketplact中直接搜索Rust
同样方式搜索toml并安装。

mac环境下 rust 环境安装_第4张图片
重启idea ,创建项目

mac环境下 rust 环境安装_第5张图片
执行 demo
mac环境下 rust 环境安装_第6张图片


常见问题

问题一:mac环境下 rust 环境安装_第7张图片
解决办法
vi ~/.cargo/config

# 放到 `$HOME/.cargo/config` 文件中
[source.crates-io]
registry = "https://github.com/rust-lang/crates.io-index"

# 替换成你偏好的镜像源
replace-with = 'sjtu'
#replace-with = 'ustc'

# 清华大学
[source.tuna]
registry = "https://mirrors.tuna.tsinghua.edu.cn/git/crates.io-index.git"

# 中国科学技术大学
[source.ustc]
registry = "git://mirrors.ustc.edu.cn/crates.io-index"

# 上海交通大学
[source.sjtu]
registry = "https://mirrors.sjtug.sjtu.edu.cn/git/crates.io-index"

# rustcc社区
[source.rustcc]
registry = "git://crates.rustcc.cn/crates.io-index"

[net]
git-fetch-with-cli=true

变为上海交通大学的源,设置为从git拉取。git就不会不会被墙啦!@@。

你可能感兴趣的:(rust,macos,开发语言)