macOS包管理器HomeBrew的安装和使用(适合小白)

article/2025/8/11 23:52:04

Homebrew 是 macOS 上广受欢迎的包管理器,它让安装、更新、卸载和管理开发工具及应用程序变得非常简单,通过HomeBrew,用户可以快速获取最新版本的软件包,而无需手动下载和安装。本文将简单介绍如何在 Mac 上安装 Homebrew 以及如何使用它来管理软件包。

概要

操作系统:macOS 15.3 

设备:MacBook Air


简介

为什么 Mac 开发者离不开它?有人说:

"没有Homebrew的Mac就像没有App Store的iPhone"

一键安装:简化软件安装流程(如`brew install node`),自动解决依赖问题,告别复杂配置。

统一管理:集中查看(`brew list`)、更新(`brew upgrade`)和卸载所有软件,保持系统干净整洁。

安全可靠:所有软件包经过审核,隔离安装在专用目录,不影响系统稳定性。

生态丰富:支持5000+命令行工具和GUI应用(通过Cask),满足开发/日常所有需求。

效率神器:批量操作、多版本切换、服务管理等功能,节省环境配置时间。


安装方法

由于国内网络环境限制,我们优先使用国内提供的镜像

打开终端输入以下命令

/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"

附上链接  HomeBrew国内如何自动安装https://zhuanlan.zhihu.com/p/111014448

回车开始执行后输出示例

这里会执行一个佬的安装脚本 对于小白来说非常方便

接下来按照提示我们选择   '2'   

这里会要求提供管理员密码,就是开机密码(因为是密码,所以输入过程不会显示,输完按回车就好)

Tips:如果你之前下载过HomeBrew 那么这个脚本会删除你之前的,包括你在HomeBrew里下载的软件,诸位要做好备份

然后选择  'Y' (yes)

安装过程

初步安装完成后会显示如下示例

这一步选择就是要确定今后软件的下载源 我们选择 ‘5’ 阿里巴巴国内源

安装完成后还需要重启终端 或者输入

source /Users/你的用户名/.zprofile

Tips:如果安装失败,我们可以执行以下命令来先删除Homebrew,再选择新的源

/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/HomebrewUninstall.sh)"

最后,检查是否安装,执行命令

brew

输出示例

如果还有安装问题,参考文档:

error.md · CunKai/HomebrewCN - Gitee.comhttps://gitee.com/cunkai/HomebrewCN/blob/master/error.md


使用HomeBrew

1. 搜索软件包

在安装前,你可以先搜索是否有你需要的软件包:

brew search 软件名

例如python

brew search python

输出示例

2. 安装软件包

使用以下命令安装软件:

brew install 软件名

例如安装 Node.js:

brew install node

3. 查看已安装的软件包

brew list

输出示例

可以看到我安装过Redis node nvm 等等

4. 更新 Homebrew 和软件包

首先更新 Homebrew 本身:

brew update

然后升级所有已安装的软件包:

brew upgrade

如果只想升级特定软件包:

brew upgrade 软件名

5. 卸载软件包

brew uninstall 软件名

6. 查看软件包信息

brew info 软件名

7. 清理旧版本

Homebrew 会保留旧版本的软件包,你可以定期清理:

brew cleanup

8. 诊断问题

如果遇到问题,可以运行:

brew doctor

这个命令会检查潜在的问题并提供解决方案


总结

这种一键安装的方式非常适合小白,通过配合使用国内镜像我们可以方便的下载这一款包管理工具,Homebrew 的这些优势使其成为 Mac 开发者提高效率的利器,特别是对于需要管理多个开发项目和依赖关系的专业人士来说,它能节省大量时间和精力,让开发者更专注于核心开发工作而非环境配置。

附上HomeBrew的官方文档

Homebrew — The Missing Package Manager for macOS (or Linux)The Missing Package Manager for macOS (or Linux).https://brew.sh最后希望使用Mac的你体验HomeBrew的强大功能,更加高效,享受极致效率的乐趣!


http://www.hkcw.cn/article/letlEUMQhf.shtml

相关文章

Android 15 适配之16K Page Size :为什么它会是最坑的一个适配点

首先什么是 Page Size ?一般意义上,页面(Page)指的就是 Linux 虚拟内存管理中使用的最小数据单位,页面大小(Page Size)就是虚拟地址空间中的页面大小, Linux 中进程的虚拟地址空间是由固定大小的页面组成。 Page Size 对于虚拟内…

adblock:为AdGuard和uBlock Origin定制的个性化过滤规则

adblock:为AdGuard和uBlock Origin定制的个性化过滤规则 adblock Personal filters and rules for AdGuard/uBlock Origin 项目地址: https://gitcode.com/gh_mirrors/adb/adblock 项目介绍 adblock 项目是一个开源的过滤规则集合,专门为AdGuard…

Xcode16 iOS18 编译问题适配

问题1:ADClient编译报错问题 报错信息 Undefined symbols for architecture arm64:"_OBJC_CLASS_$_ADClient", referenced from:in ViewController.o ld: symbol(s) not found for architecture arm64 clang: error: linker command failed with exit code 1 (use …

Mac如何连上Windows共享文件夹

首先保证mac和windows在同一局域网下 接着打开mac的【finder】,点击【Go】->【Connect to Server】 接下来输入 windows的IP,格式如下 smb://ip,然后点击【Connect】 接下来输入账号密码登录即可 由于我们的是任何人都可以访问,所以我选的…

手拆STL

vector v e c t o r vector vector,动态数组。 先来看一下它的一些基本操作及其拆后残渣。 1.a.push_back(x),将 x x x加入动态数组 a a a的末尾。 实现:a[cnt]x 2.a.size(),查询动态数组 a a a中元素的数量。 实现:cn…

CppCon 2014 学习: C++ Test-driven Development

“Elephant in the Room”这个比喻常用来形容那些大家都知道但没人愿意讨论的重大问题。 这段内容讲的是软件质量管理的经典做法和潜在的问题: 经典做法:开发完成后才进行人工测试(manual testing after creation)。隐喻“Cape o…

vscode编辑器怎么使用提高开发uVision 项目的效率,如何编译Keil MDK项目?

用vscode编译uVision 项目只需要安装一个Keil Assistant插件,即可用vscode开发“keil 项目”。极大提高开发速度! 1.安装Keil Assistant插件 安装插件成功之后,应该会让安装一个东西,点击安装即可 2.配置安装包路径 3.打开 uVi…

w~大模型~合集7

我自己的原文哦~ https://blog.51cto.com/whaosoft/13960246 #语言模型是否会规划未来 token Transformer本可以深谋远虑,但就是不做,语言模型是否会规划未来 token?这篇论文给你答案。 「别让 Yann LeCun 看见了。」 Yann LeCun 表示太迟了&am…

Tomcat优化篇

目录 一、Tomcat自身配置 1.Tomcat管理页面 2. 禁用AJP服务 3.Executor优化 4.三种运行模式 5.web.xml 6.Host标签 7.Context标签 8.启动速度优化 9.其他方面 二、JMeter测试 笔者推荐 一、Tomcat自身配置 1.Tomcat管理页面 我们可以打开Tomcat的管理页面&#xff…

VectorStore 组件深入学习与检索方法

考虑到目前市面上的向量数据库众多,每个数据库的操作方式也无统一标准,但是仍然存在着一些公共特征,LangChain 基于这些通用的特征封装了 VectorStore 基类,在这个基类下,可以将方法划分成 6 种: 相似性搜…

深入理解短链服务:原理、设计与实现全解析

TinyURL 是全球最早提供短链服务的网站,被视为短链系统的鼻祖。如今,国内的主流互联网公司也纷纷推出了自己的短链平台,比如新浪的 t.cn、百度的 dwz.cn、腾讯的 url.cn 等。 随着业务复杂度的提升和数据量的剧增,短链服务不仅是…

OpenCV C++ 学习笔记(三):矩阵基本操作、遍历图像矩阵的方法及性能分析

文章目录 图像矩阵在内存中的存储矩阵基本操作高性能法——使用经典的C风格运算符[](指针)迭代器法通过指定On-the-fly地址查找核心函数LUT性能分析 常用数据类型定义: cv::Size(cols, rows); cv::Size(width, height);cv::Scalar(gray) cv:…

java26

1.异常 报错原因: 缺少 性能优化是指:"a""b""c"----------->"abc" 下面是异常的报错信息: 报错信息: 注意:报错位置从下往上看 异常作用二的体现: 结果&…

【Oracle】高级部分 - 从入门到精通的进阶之路

个人主页:Guiat 归属专栏:Oracle 文章目录 🚀 性能优化篇:让Oracle跑得飞快1. 执行计划分析 - 数据库的"透视眼"2. 索引优化策略 - 数据库的"导航系统"3. 分区表的威力 - 数据库的"分治策略" &…

【AI论文】推理语言模型的强化学习熵机制

摘要:本文旨在克服将强化学习扩展到使用 LLM 进行推理的主要障碍,即策略熵的崩溃。 这种现象在没有熵干预的RL运行中一直存在,其中策略熵在早期训练阶段急剧下降,这种探索能力的减弱总是伴随着策略性能的饱和。 在实践中&#xff…

Git深入解析功能逻辑与核心业务场景流程

一、Git核心功能逻辑架构 #mermaid-svg-9tj1iCr99u6QenJM {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-9tj1iCr99u6QenJM .error-icon{fill:#552222;}#mermaid-svg-9tj1iCr99u6QenJM .error-text{fill:#552222;st…

【HarmonyOS Next之旅】DevEco Studio使用指南(二十九) -> 开发云数据库

目录 1 -> 开发流程 2 -> 创建对象类型 3 -> 添加数据条目 3.1 -> 手动创建数据条目文件 3.2 -> 自动生成数据条目文件 4 -> 部署云数据库 1 -> 开发流程 云数据库是一款端云协同的数据库产品,提供端云数据的协同管理、统一的数据模型和…

[Python] Python自动化:PyAutoGUI的基本操作

初次学习,如有错误还请指正 目录 PyAutoGUI介绍 PyAutoGUI安装 鼠标相关操作 鼠标移动 鼠标偏移 获取屏幕分辨率 获取鼠标位置 案例:实时获取鼠标位置 鼠标点击 左键单击 点击次数 多次有时间间隔的点击 右键/中键点击 移动时间 总结 鼠…

【Hot 100】45. 跳跃游戏 II

目录 引言跳跃游戏 IIdp解题贪心解题 🙋‍♂️ 作者:海码007📜 专栏:算法专栏💥 标题:【Hot 100】45. 跳跃游戏 II❣️ 寄语:书到用时方恨少,事非经过不知难! 引言 跳跃…

QT-JSON

#include <QJsonDocument>#include <QJsonObject>#include <QJsonArray>#include <QFile>#include <QDebug>void createJsonFile() {// 创建一个JSON对象 键值对QJsonObject jsonObj;jsonObj["name"] "John Doe";jsonObj[…