当前位置: 首页 > news >正文

深入解析:Rust新手第一课:Mac环境搭建踩坑记录

欢迎来到我的博客,代码的世界里,每一行都是一个故事


在这里插入图片描述

:你只管努力,剩下的交给时间

:小破站

Rust新手第一课:Mac环境搭建踩坑记录

    • 前言
    • 第一步:下载安装脚本
    • 第二步:运行安装脚本
    • 第三步:遇到第一个坑 - 权限错误
    • 第四步:验证安装
    • 第五步:下载Rust编译器
    • 第六步:验证成功
    • 第七步:配置VSCode
    • 第八步:创建第一个项目
    • 第九步:运行Hello World
    • 第十步:试试基础语法
      • 变量和类型
      • 函数
    • 总结
    • 国内镜像配置
      • 安装时使用镜像
      • Cargo配置镜像

前言

最近看到很多人在聊Rust,说什么内存安全、高性能、无GC…听起来很牛的样子。正好最近有点时间,决定试试看。这篇文章记录了我在Mac(M芯片)上安装Rust的完整过程,包括遇到的坑和解决办法。

如果你也是Mac用户,特别是M1/M2/M3芯片的,这篇文章应该能帮到你。


第一步:下载安装脚本

官方推荐的安装方式是用一条命令:

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

但我在国内,直接这样跑可能会超时。所以我选择先把脚本下载下来:

cd Downloads
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs > rustup-init.sh

下载脚本

这样做的好处是:

  1. 下载慢也没关系,可以多试几次
  2. 可以先看看脚本内容,安心一点

下载完可以用 cat rustup-init.sh 看看里面写了啥。不过我看了一眼,全是shell脚本,看不太懂,算了。


第二步:运行安装脚本

sh rustup-init.sh

运行后出现了一个的界面

安装界面

界面上显示:

  • 工具会安装到 /Users/xiaobo/.cargo/bin
  • 会自动修改 PATH 环境变量
  • 默认配置是 aarch64-apple-darwin(确认是M芯片)
  • 工具链选择 stable(稳定版)

有三个选项:

  1. 标准安装(直接回车)
  2. 自定义安装
  3. 取消安装

我选了1,直接回车。


第三步:遇到第一个坑 - 权限错误

结果马上报错了:

error: could not amend shell profile: '/Users/xiaobo/.bash_profile':
could not write rcfile file: '/Users/xiaobo/.bash_profile':
Permission denied (os error 13)

权限错误

什么情况? 看起来是没权限写 .bash_profile 文件。

不过我仔细一想,我用的是zsh(Mac默认shell),不是bash。而且rustup可能已经装好了,只是环境变量配置失败了。

解决办法:手动把Rust工具路径加到 .zshrc

echo 'export PATH="$HOME/.cargo/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc

这样就把 /Users/xiaobo/.cargo/bin 加到了PATH里。


第四步:验证安装

试着运行:

rustc --version
cargo --version
rustup --version

结果:

  • rustccargo 报错说没有默认工具链
  • rustup 能显示版本号:rustup 1.28.2

原来rustup装好了,但还没下载Rust编译器!


第五步:下载Rust编译器

按照提示运行:

rustup default stable

这个命令会:

  1. 下载最新的稳定版Rust(1.91.0)
  2. 下载cargo、clippy、rustfmt等工具
  3. 设置为默认工具链

下载编译器

下载过程显示:

  • cargo: 8.1 MiB
  • rust-docs: 20.5 MiB
  • rust-std: 26.0 MiB
  • rustc: 60.9 MiB

总共100多MB,还好不算太大。 如果你网速慢,可以用国内镜像(文末有说明)。


第六步:验证成功

再次运行:

rustc --version
cargo --version
rustup --version

这次成功了:

  • rustc 1.91.0
  • cargo 1.91.0
  • rustup 1.28.2

到这里,Rust就算装好了!


第七步:配置VSCode

既然要写Rust,得有个顺手的编辑器。我用的是VSCode(也有人用IntelliJ IDEA或者Vim)。

在VSCode的扩展商店搜索 rust-analyzer,安装它:

VSCode插件

这个插件提供:

  • 代码补全
  • 语法检查
  • 跳转定义
  • 代码格式化

装完后,VSCode就能很好地支持Rust了。


第八步:创建第一个项目

在终端运行:

mkdir vs-code-test-hello
cd vs-code-test-hello
cargo new hello_world

创建项目

输出:

Creating binary (application) "hello_world" package

查看项目结构:

cd hello_world
ls -la

会看到:

  • .git/ - 已经初始化了git仓库
  • .gitignore - 已经配置了忽略文件
  • Cargo.toml - 项目配置文件
  • src/ - 源代码目录
    • main.rs - 入口文件

cargo真贴心,连git都帮你初始化好了。


第九步:运行Hello World

在VSCode里打开 src/main.rs,默认代码是:

fn main() {
println!("Hello, world!");
}

在VSCode里,main 函数上面会出现一个 ▶ Run 按钮:

VSCode运行

点击运行按钮,输出:

Hello, world!

或者在终端用cargo运行:

cargo run

cargo run

输出:

Compiling hello_world v0.1.0
Running `target/debug/hello_world`
Hello, world!

第一个Rust程序跑起来了!


第十步:试试基础语法

既然环境搭好了,顺便试试Rust的基础语法。

变量和类型

修改 main.rs

fn main() {
// 变量绑定
let x = 5;
let mut y = 10;
y = 15;
// 数据类型
let integer: i32 = 42;
let float: f64 = 3.14;
let boolean: bool = true;
let text: &str = "Hello, Rust!";
println!("x = {}, y = {}", x, y);
println!("整数: {}, 浮点: {}, 布尔: {}, 文本: {}",
integer, float, boolean, text);
}

基础类型

运行结果:

x = 5, y = 15
整数: 42, 浮点: 3.14, 布尔: true, 文本: Hello, Rust!

几个发现

  1. let 声明的变量默认不可变
  2. mut 才能修改:let mut y = 10
  3. 编译器会警告你:y = 10 这行赋值没用,因为后面又改成15了

函数

再试试函数:

fn main() {
let result = add(5, 3);
println!("5 + 3 = {}", result);
greet("Rust开发者");
}
fn add(a: i32, b: i32) -> i32 {
a + b  // 注意:没有return关键字和分号
}
fn greet(name: &str) {
println!("你好, {}!", name);
}

函数

运行结果:

5 + 3 = 8
你好, Rust开发者!

Rust的函数有点特别

  • 最后一行如果不加分号,就是返回值
  • a + b 相当于 return a + b;

总结

从零开始在Mac上搭Rust环境,主要步骤:

  1. ✅ 下载安装脚本:curl https://sh.rustup.rs > rustup-init.sh
  2. ✅ 运行安装:sh rustup-init.sh
  3. ⚠️ 遇到权限问题?手动配置环境变量到 .zshrc
  4. ✅ 下载编译器:rustup default stable
  5. ✅ 验证安装:rustc --version
  6. ✅ 安装VSCode插件:rust-analyzer
  7. ✅ 创建项目:cargo new 项目名
  8. ✅ 运行代码:cargo run

遇到的坑

  • 权限错误:手动配置环境变量解决
  • 网络问题:用国内镜像(见附录)

感受

  • cargo真的很好用,自动生成项目结构
  • 编译器报错信息很友好,会告诉你怎么改
  • VSCode + rust-analyzer 体验不错

国内镜像配置

如果下载慢,可以用国内镜像。

安装时使用镜像

export RUSTUP_DIST_SERVER=https://mirrors.ustc.edu.cn/rust-static
export RUSTUP_UPDATE_ROOT=https://mirrors.ustc.edu.cn/rust-static/rustup
sh rustup-init.sh

Cargo配置镜像

创建或编辑 ~/.cargo/config.toml

[source.crates-io]
replace-with = 'ustc'
[source.ustc]
registry = "sparse+https://mirrors.ustc.edu.cn/crates.io-index/"

常用镜像源:

  • 中科大:https://mirrors.ustc.edu.cn/rust-static
  • 清华:https://mirrors.tuna.tsinghua.edu.cn/rustup
  • 上海交大:https://mirrors.sjtug.sjtu.edu.cn/rust-static
http://www.jsqmd.com/news/72734/

相关文章:

  • 2025年厨房操作台实力厂家推荐榜单:消控室操作台‌/实验操作台‌/不绣钢操作台源头厂家精选 - 品牌推荐官
  • 理解nordic ncs设备驱动模型--SPIM
  • 博士申请决胜指南:顶尖院校 Offer 高效斩获攻略 - 速递信息
  • 如何挑选一台适合孩子的学习机?一份聚焦“特色品牌”的避坑指南 - 品牌测评鉴赏家
  • 如何挑选一台适合孩子的学习机?一份聚焦“特色品牌”的避坑指南 - 品牌测评鉴赏家
  • 2025 博士留学中介排名:全奖申请哪家更牛? - 速递信息
  • 如何遴选未来战场的关键赋能者?大算力测绘无人机蜂群系统供应商推荐 - 品牌2025
  • 博士申请通关指南:顶尖院校全奖 Offer 这样拿 - 速递信息
  • 自学日语不花冤枉钱!这些宝藏软件请查收 - 品牌测评鉴赏家
  • 光驱AI芯片:卷积计算效能提升百倍
  • 推荐几家TikTok代运营公司(2025年12月新版),五家效果不错的TikTok营销服务商、TikTok海外推广公司盘点 - 品牌2025
  • 博士申请最强外挂TOP10:助你跃迁学术高地 - 速递信息
  • 浙江自习室加盟全攻略:5大热门品牌深度解析与避坑指南 - 品牌测评鉴赏家
  • 大夏龙雀DX-WF25(ESP32-C2-H2) arduino点灯科技
  • 别再哭求数据恢复!11 招数据恢复就许可搞定,办公党必藏!
  • 四川自习室加盟指南:哪些品牌值得信赖? - 品牌测评鉴赏家
  • 2025 最新 花卉种植厂家 TOP5 评测!云南等地优质鲜花基地年度盘点,科技培育 + 品种多样权威榜单发布,赋能花卉产业高质量发展 - 全局中转站
  • 2025-2026北京口碑最好的律师事务所排名榜单,专业服务好,客户满意度高 - 苏木2025
  • 寒假首选!中高考前集训权威排名:芜湖儒农书院寒假集训托管TOP1 - 真知灼见33
  • 2025年直流充电桩源头厂家推荐榜单:电动重卡充电桩‌/充电桩‌/快充充电桩源头厂家精选 - 品牌推荐官
  • 2025年谐波减速机直销厂家推荐榜单:蜗轮蜗杆减速机‌/小齿减速机‌/行星减速机源头厂家精选 - 品牌推荐官
  • 深入解析:监控平台 Grafana+Prometheus+node_exporter初识
  • AI Ping:大模型时代的“性能罗盘”——从选型到落地的全流程指南
  • 2025-2026北京法律服务机构实力榜:北京律师所排行榜深度测评与靠谱推荐 - 老周说教育
  • 同事写的count(*)性能很差,如何优化?
  • 2025年最新拖车平台推荐:十大靠谱服务商深度测评,国内优质的拖车平台技术领航者深度解析 - 品牌推荐师
  • git撤回未推送提交
  • 2025-2026北京法律服务机构实力榜:北京市律师咨询深度测评与靠谱推荐 - 老周说教育
  • 2025最新高山杜鹃/红粉佳人/贵妃醉酒/花卉种植公司TOP5 评测!云南等地五大优质鲜花基地榜单发布,引领高端花卉培育新生态 - 全局中转站
  • 2025-2026北京法律服务机构实力榜:最厉害的三个律所级平台深度测评与靠谱推荐 - 老周说教育