【AI说Rust 03】如何在 macos m1 系统搭建 rust 开发环境

在 macOS M1 上搭建 Rust 开发环境非常直接,主要依赖于官方工具 rustup。下面我为你梳理了一份清晰的步骤指南,包含一些实用技巧。

🔧 安装步骤概览

首先,我们来快速了解核心步骤:

步骤 关键操作/命令 说明
1. 安装命令行工具 xcode-select --install 获取必要的编译器和链接器。
2. 安装 Rust 工具链 curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh 使用官方脚本安装 rustuprustccargo
3. 配置环境变量 source $HOME/.cargo/env 使命令立即生效;并永久添加到 ~/.zshrc
4. 验证安装 rustc --versioncargo --version 检查版本信息以确认安装成功。
5. 测试项目 cargo new hello_world 然后 cargo run 创建并运行第一个项目,输出 "Hello, world!"。

📥 安装必要的编译依赖

在安装Rust之前,需要确保系统有基本的编译环境。打开终端,执行以下命令来安装Xcode命令行工具:

xcode-select --install

这会提供一个链接器(linker)和一些基础库,许多Rust包在编译时会依赖它们。

⚙️ 安装与配置 Rust

这是最核心的一步。

  1. 安装 Rustup
    在终端中运行官方安装脚本。这将下载并运行 rustup-init 脚本:

    # 1. 设置临时环境变量,使用中国科技大学的镜像源(可选)
    export RUSTUP_DIST_SERVER=https://mirrors.ustc.edu.cn/rust-static
    export RUSTUP_UPDATE_ROOT=https://mirrors.ustc.edu.cn/rust-static/rustup# 2. 安装 Rustup
    curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
    

    安装过程中,脚本会提示你进行选择。建议直接按回车键或输入 1 选择默认安装选项,这通常会为你配置好最新的稳定版Rust。

  2. 配置环境变量
    安装完成后,脚本会提示需要重新加载环境变量。你可以通过以下命令立即生效:

    source $HOME/.cargo/env
    

    为了永久生效,建议将下面这行代码添加到你的shell配置文件(例如,如果你使用Zsh,则是 ~/.zshrc)的末尾:

    export PATH="$HOME/.cargo/bin:$PATH"
    

    添加后,执行 source ~/.zshrc 或重新启动终端即可。

🧪 验证安装与创建测试项目

现在,让我们验证一切是否正常工作。

  1. 检查版本
    在终端中运行以下命令,如果它们都能正确显示版本号,则说明安装成功:

    rustc --version
    cargo --version
    
  2. 创建并运行第一个项目
    使用Cargo(Rust的包管理器和构建工具)创建一个新项目是检验环境是否完备的最佳方式:

    cargo new hello_world
    cd hello_world
    cargo run
    

    如果一切顺利,你将在终端中看到 Hello, world! 的输出。

💡 实用技巧与后续步骤

  • 加速下载(可选但推荐):如果你在国内,可能会觉得从官方源下载速度较慢。可以通过设置国内镜像源来大幅提升下载速度。将以下环境变量添加到你的 ~/.zshrc 文件中,然后执行 source ~/.zshrc
    export RUSTUP_DIST_SERVER=https://mirrors.ustc.edu.cn/rust-static
    export RUSTUP_UPDATE_ROOT=https://mirrors.ustc.edu.cn/rust-static/rustup
    
  • 安装Rosetta 2(按需):某些Rust库可能暂时只提供了x86_64架构的预编译组件。为了让M1芯片的Mac能运行这些组件,可以安装Rosetta 2。在终端中执行以下命令即可:
    sudo softwareupdate --install-rosetta
    
    通常Rust工具链会通过Rosetta 2自动处理兼容性问题,你不需要额外干预。
  • 更新与卸载:要更新你的Rust工具链到最新版本,只需运行:
    rustup update
    
    如果需要卸载Rust,可以使用命令:
    rustup self uninstall
    

完成环境搭建后,就可以开始你的Rust学习之旅了!推荐从阅读官方的《Rust程序设计语言》("The Book")开始。希望这份指南对你有帮助!如果你在安装过程中遇到任何具体问题,随时可以再问我。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/957240.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

厨房小白学做饭——4.干锅菜花

1.将菜花掰成朵,倒入清水,少加入一些盐,泡10分钟左右; 2.切一些五花肉备用【五花肉去皮】,切成片,薄厚均匀就行; 3.将线椒切成丝【建议红绿都来点,好看一些】,也可用小米椒切丝,再来四五瓣蒜,拍一下; 4.锅…

操盘计划202511090017

好的,我们来整合信息,直接回答您的两个核心问题。 问题一:哪几只股票重复次数最高? 这里的“重复次数”指的是在所有模型(xgb, lr, rf, svr)和所有预测时间点的综合预测中,同一只股票出现的总次数。次数越高,说…

Effective C++

条款01:视C++为一个语言联邦多重范型编程语言,在某个次语言中,各种高效编程守则简单易懂;但从一个语言移到另一个语言,守则可能改变。 次语言类型:C: Object-Oriented C++: Template C++: STL:条款02: 尽量以co…

厨房小白学做饭——3.虎皮青椒

1.螺丝椒洗好控干水分,同时准备几瓣大蒜,拍一下然后剁碎; 2.去除辣椒籽,将辣椒拍一下,然后切成小段; 3.起锅加油,油热后放入辣椒,用铲子按压,使辣椒受热均匀【火不要开的太大,容易把辣椒炒焦】,边按压边翻炒…

20251105 之所思 - 人生如梦

20251105 之所思今天做的好的事情:1. 主动汇报 和直接上级有一个两周一次半小时的会议,汇报SW这边的一些状态和数据,今天可能是升职以来第一次正式的主动汇报,以前虽然会议是book了,但是每次都是因为老板的时间导…

【Kubernetes】入门-部署Spring应用

Kubernetes 基本概念 Pod 是什么: Kubernetes 中最小的、最简单的部署和管理单元。 类比: 一台“逻辑主机”或一个“虚拟机实例”。 关键点:一个 Pod 可以包含一个或多个紧密相关的容器(例如,一个应用容器和一个日…

第16天(简单题中等题 二分查找)

打卡第十六天 4道简单题+1道中等题 耗时≈一小时 明天继续

Java项目常用异常处理场景与实战指南

在Java开发中,异常处理直接决定了系统的健壮性和可维护性。不合理的处理方式可能导致系统崩溃、数据丢失或调试困难,而规范的处理能让系统在异常场景下优雅降级。本文结合实际项目经验,梳理高频异常场景及解决方案,…

newDay18

1.今天主要是背背单词,把作业写了一部分 2.明天把不会的东西补补 3.没啥问题

11月5日

上午离散和马原 下午学四级

层级结构

层级结构import json from collections import defaultdict from typing import List, Dict, Any, Optional from docx import Documentfrom llama_index.core.schema import Document as LlamaDocument, TextNode fro…

2025.11.5总结 - A

今天上了离散数学和马原,感觉良好,加油

C# POST Form

public string HttpPostForm(string url,Dictionary<string,string> _form,string _filepath="") {try{var formData = new MultipartFormDataContent();_form.Cast<KeyValuePair<string, strin…

C++练习2

选择题部分

买完学习机还需要去线下补课吗? AI 学习机 + 自习室是最优解!

当孩子成绩不理想时,单一依赖 AI 学习机常陷入 “诊断不深、练习盲目、缺乏监督” 的困境 —— 而 2025 年异军突起的黑马品牌松鼠 AI,凭借 “AI 学习机 + 全国自习室” 双线矩阵,打破这一局限,成为成绩差孩子的提…

一次性删除所有的GitHub Action记录

一键脚本 gxxxxVP是GitHub TOKEN PAGE=1 while true; do# 获取当前页面的数据RESPONSE=$(curl -H "Authorization: token gxxxxVP" \"https://api.github.com/repos/kitcoun/OCI-Auto-Manager/actions/…

第三十四篇

今天是11月5号,上了离散和马原

2025-11-05 PQ v.Next日志记录

项目核心信息目前初步预计在这里进行开发测试(后续到develop): https://z.gitee.cn/zgca/projects/777586/repos/zgca/aipq/tree/feature%2Fteacher_feel今日进度(4*6): 当前任务:全员微信开发能力培训最初计划…

11月5日日记

1.今天学习离散数学和马哲 2.明天篮球课比赛 3.Servlet 与 JSP 页面如何实现数据高效传递?