Homebrew 【MAC安装软件利器】

1、brew介绍


Homebrew游来:

Homebrew 的诞生源于一个年轻程序员的不满和创新。2009 年,Max Howell 当时是一名在苹果公司工作的程序员。他觉得在 Mac 上安装和管理开源软件特别麻烦,常常需要手动下载源代码、解决依赖关系、编译安装,过程繁琐且容易出错。

有趣的是,Homebrew 的名字来源也很有意思。"Homebrew" 直译是"家酿啤酒",Max 选择这个名字是因为软件包的编译过程就像酿造啤酒一样 - 需要原料(源代码)、配方(安装脚本)和时间来"酿造"出最终的产品。在 Homebrew 中,每个软件包被称为 "Formula"(配方),安装目录被称为 "Cellar"(酒窖),这些术语都源于啤酒酿造的词汇。

Homebrew 最初是 Max 在周末写的一个小项目,他把代码放在了 GitHub 上。令人惊讶的是,这个项目很快就获得了大量关注。开发者们被它简单直观的设计所吸引,纷纷开始贡献代码。项目在 GitHub 上迅速积累了大量星标,成为最受欢迎的开源项目之一。

有个广为流传的趣闻:2013 年,Max Howell 去谷歌面试,但因为没能在白板上写出反转二叉树的算法而被拒绝。这件事后来成为程序员圈子里的一个著名梗,因为 Homebrew 这个被数百万开发者使用的工具的作者,却因为一个算法题没能通过面试。Max 本人后来在推特上写道:"Google:90% 的工程师都在使用你写的软件,但是你没能在白板上把二叉树倒过来,所以再见。"

随着时间推移,Homebrew 逐渐成长为一个成熟的开源项目。它采用 Ruby 编写,设计简洁优雅,遵循 "Mac OS X 的习惯"。比如,它会将软件安装到用户目录下,而不是系统目录,这样既不需要管理员权限,也不会影响系统稳定性。

今天,Homebrew 已经成为 Mac 用户安装软件的首选方式,每月活跃用户数以百万计。它不仅简化了软件安装过程,还培养了一个活跃的开源社区。许多开发者会自发地为 Homebrew 编写新的 Formula,维护现有包的更新,帮助解答其他用户的问题。

这个故事告诉我们,有时候最好的工具往往来自于实际需求,而不是宏大的规划。正如 Max 所说:"我只是想让在 Mac 上安装软件变得更简单一点。"这个简单的想法,最终改变了整个 Mac 开发生态系统。

Homebrew是mac平台下的包管理工具,使用方式跟docker有点像,也是基于命令方式操作软件。

官网:https://brew.sh/

brew常用命令:

java 复制代码
安装软件:brew install 软件包名
卸载软件:brew uninstall 软件包名
搜索软件:brew search 软件包名
更新指定软件:brew upgrade 软件包名
查看已安装的软件列表:brew list
更新brew软件:brew update
清理所有包的旧版本:brew cleanup
清理指定包的旧版本:brew cleanup 软件包名
....

2、安装brew


项目地址:https://gitee.com/cunkai/HomebrewCN
注:需要机器上有git环境,因为它要从git仓库拉代码。

1、国内镜像下载brew脚本:

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

后续按照提示输入y和回车即可。

  • 镜像源选择:清华大学

2、卸载brew脚本:

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

3、使用brew安装软件


突发小技巧:先search再install,不想要了uninstall,查都装了什么软件list。

示例:安装Redis客户端工具

php 复制代码
# 搜索软件包
brew search another-redis-desktop-manager 
# 安装  
brew install another-redis-desktop-manager 

# 查询已安装软件列表
brew list
相关推荐
Bigger7 小时前
Tauri(21)——窗口缩放后的”失焦惊魂”,游戏控制权丢失了
前端·macos·app
Bigger7 小时前
Tauri (20)——为什么 NSPanel 窗口不能用官方 API 全屏?
前端·macos·app
Wcowin18 小时前
Mac Shell 环境优化指南
macos·职场和发展·蓝桥杯
止礼18 小时前
FFmpeg8.0.1 Mac环境 CMake本地调试配置
macos·ffmpeg
sean90819 小时前
Colima 下 docker pull 失败自查流程
macos·docker·容器·colima
denggun123452 天前
卡顿监测原理
macos·ios·xcode
Sheffi662 天前
iOS 触摸事件完整传递链路:Hit-Test 全流程深度解析
macos·ios·cocoa
ChineHe2 天前
Gin框架入门篇002_第一个Gin服务
macos·xcode·gin
Roc.Chang2 天前
解决 macOS 26.1 The application “xxxx” can’t be opened. 问题
macos
赶路人儿2 天前
从intel mac迁移到M3后软件的兼容性
macos