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

三分钟上手 Homebrew 包管理器:一条命令装好并更新 macOS 与 Linux 全部软件

三分钟上手 Homebrew 包管理器:一条命令装好并更新 macOS 与 Linux 全部软件

【免费下载链接】brew🍺 The Package Manager for Everywhere项目地址: https://gitcode.com/GitHub_Trending/br/brew

又到周一的例行配置时刻:打开浏览器,搜索软件官网,找下载链接,等镜像,解压,拖进 Applications,再手动配一遍 PATH。这一套动作手动完成平均要花 10 分钟,碰上需要从源码编译的软件,半小时起步。而用 Homebrew 包管理器,全程只剩一条命令,多数软件因为走预编译的 bottle,从敲回车到装完用不了一分钟。这个自称 The Package Manager for Everywhere 的开源项目,正在同时接管 macOS、Linux 甚至 WSL 上的软件安装,值得你花三分钟认真上手。

先看内部:formula、bottle 与 cask 如何把安装压缩成一条命令

一条命令能装任何软件,靠的不是黑魔法,而是一套被反复验证的约定。Homebrew 的核心是一份份 Ruby 脚本,叫 formula(配方),里面记录了软件的下载地址、依赖关系和安装步骤。你输入brew install ffmpeg时,Homebrew 会先解析依赖树,把 libx264、libvpx 这类底层库按正确顺序装好,再安装 ffmpeg 本体——手动装时最容易在依赖这一步翻车,而它替你排好了队。

不让你重复编译,是 Homebrew 体贴的第二处。官方 CI 在受控环境里把软件编译成预构建二进制包(bottle),你下载即用。从源码编译 Python、Node 这类大件往往要二三十分钟,bottle 通常一分钟内完成,这也是它敢称"高效"的底气。

装图形界面应用则走另一套 cask 机制。每个 cask 文件像一张配送单:写明安装包从哪下载、SHA-256 校验值是多少、装到哪个目录。下载完成后 Homebrew 自动比对哈希,不一致就拒绝安装,相当于给每次下载上了一道锁。

质量上也不用赌运气。Homebrew 的 test-bot 会在 macOS 与 Linux 多套环境里跑自动化测试,任何改动只有全绿才会被合并进仓库,从源头拦下会坏事的配方。

理解了这三层分工,你就抓住了它的设计骨架:formula 管命令行工具,cask 管桌面应用,bottle 管安装速度,依赖与校验由 brew 统一兜底。

Homebrew 安装教程:三步跑通第一条 install 命令

从零到跑通第一条brew install,只需三步。先补齐环境:macOS 需要 Xcode 命令行工具,Linux 需要基础编译链与 git,随后执行官方安装脚本(脚本来自官方文档,macOS 与 Linux 通用,执行前会逐条列出它要做的事等你确认):

# macOS 准备命令行工具 xcode-select --install # Debian / Ubuntu 准备基础依赖 sudo apt-get install build-essential procps curl file git

装完后按提示把 brew 加入当前 shell。不同平台的默认路径不同:macOS Apple Silicon 是 /opt/homebrew,Intel 是 /usr/local,Linux 是 /home/linuxbrew/.linuxbrew。以 zsh 为例:

eval "$(/opt/homebrew/bin/brew shellenv)" echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zshrc brew --version # 验证是否安装成功

到这里安装本身已经结束,之后所有操作都无需 sudo。现在装你的第一个软件:

brew install jq # 命令行工具,自动处理依赖 brew install --cask drawio # 桌面应用,加 --cask 即可

留意一个细节:brew install会顺带装好依赖,这正是它和"下个压缩包手动解压"最本质的区别。有了第一个软件,下一步是把日常操作盘熟。

brew 命令速查:安装、更新、卸载、清理的日常闭环

日常维护只需记住八条命令,其余都可以交给brew help

你要做的事命令说明
安装命令行软件brew install git自动解析并装好依赖
安装 GUI 应用brew install --cask wechat下载、校验、安装一气呵成
搜索软件brew search "note"同时匹配 formula 与 cask
查看可更新项brew outdated列出待升级的软件
升级全部brew upgradebrew update再升级更稳妥
卸载软件brew uninstall git连旧版本一起清掉
清理缓存与旧版brew cleanup释放被占用的磁盘空间

对照传统流程,收益更直观:

环节手动做法brew 做法
安装官网下载→解压→拖拽→配 PATH,7 步1 条命令
升级重下新包、重走一遍流程brew upgrade
卸载拖进废纸篓,残留文件靠手动找1 条命令

把这套闭环跑顺,接下来可以玩点更进阶的。

进阶玩法:Brewfile 一键复刻环境,services 托管常驻进程

如果"把软件装好"是入门,那"把整个环境装好"就是进阶。brew bundle用一份 Brewfile 描述你想要的最终状态,而不是一串命令序列。迁移到新电脑时,先把当前环境导出:

brew bundle dump --describe # 导出为 Brewfile

新机器上执行brew bundle install即可一键还原。这份文件同时也是开发环境的"活文档":

brew "git" brew "node" brew "postgresql@16", restart_service: true cask "drawio"

需要常驻后台的数据库、队列等服务,交给brew services托管,开机自启、日志统一管理:

brew services start postgresql@16 brew services list

重装系统后,过去要折腾半天的环境恢复,现在跑两行命令就绪。想研究源码或参与贡献的开发者,可以直接 clone 本仓库git clone https://gitcode.com/GitHub_Trending/br/brew,从源码运行与调试。

避坑指南:几个让 brew 变难用的操作习惯

避开下面几个习惯,brew 会顺手得多。

别给 brew 加 sudo。Homebrew 从设计上就不需要 root,软件都装在自己的目录里,加 sudo 反而会破坏文件属主,brew doctor会立刻向你告警。

别和 keg-only 公式硬碰硬。像 openjdk 这类公式默认"不链接",专门避免覆盖系统自带的同名版本。它们能正常使用,只是不抢占系统 PATH,不必强行解除。

装完别跳过 shell 配置。出现command not found: brew,十有八九是漏了 shellenv 那一步,回到上文配置即可。

升级前先 update。直接brew upgrade可能基于过期索引操作,养成brew update后再升级的习惯,能少踩很多版本错位。

定期 cleanup。Homebrew 会保留旧版本以便回滚,勤用brew cleanup能省下可观的磁盘空间。

从一条命令开始,把琐事交出去

软件安装本不该占用你的注意力。依赖不用自己记、升级不用到处找新包、重装系统不再是灾难——把这类重复劳动交给 Homebrew,省下的不只是每次几分钟,而是一整套心智负担。今天就从你每天必用的那款工具开始,跑一次brew install,再执行brew doctor确认环境健康。工具的价值不在功能列表,而在你真正开始用它之后。

延伸学习资源:

  • 官方安装文档:docs/Installation.md
  • Homebrew on Linux 指南:docs/Homebrew-on-Linux.md
  • Cask 编写指南:docs/Cask-Cookbook.md
  • Brewfile 高级用法:docs/Brew-Bundle-and-Brewfile.md

【免费下载链接】brew🍺 The Package Manager for Everywhere项目地址: https://gitcode.com/GitHub_Trending/br/brew

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

http://www.cnnetsun.cn/news/4042720.html

相关文章:

  • WeKnora向量数据库选型与迁移实战:从pgvector到Elasticsearch的无痛切换
  • 把酷安装进 Windows:这个 UWP 客户端让我从此用电脑刷酷安
  • RAT-retrieval-augmented-thinking技术原理解析:两阶段推理如何让AI思考更清晰
  • 为什么你的Illusion游戏Mod总在打架?用KKManager把它们管起来
  • 一文搞定跨平台macOS下载:gibMacOS从官方安装包获取到系统盘制作实战指南
  • soildworks2025下载分享(只供学习交流)
  • Portrait-Segmentation核心架构解密:Slim-net如何实现1.5MB模型20FPS实时推理
  • register-service-worker未来展望:即将到来的新功能和改进路线图
  • Formality:黑盒(black box)
  • 一招解决BT下载龟速:每日自动更新的公共Tracker清单配置指南
  • Tiled地图编辑器深度解析:分层数据模型与智能地形引擎的实现之道
  • 052、联发科Imagiq HyperEngine架构适配:天玑9000/9200的ISP多核并行调度与Tuning Toolkit调优案例
  • 卸载Edge终极指南:用EdgeRemover彻底移除Microsoft Edge并防止自动重装
  • GerberTools完整指南:如何快速搞定Gerber文件处理与拼板生产
  • 如何快速上手Lets_OCR?3分钟搭建你的OCR识别系统
  • 彻底解决Visual Studio中文乱码:从编码原理到实战配置指南
  • 浏览器中的情感分析:ml-projects文本分类模型的实战案例
  • atc-react最佳实践:10个提升事件响应速度的关键Response Actions
  • DDRM核心功能解析:超分辨率、去模糊与降噪的终极解决方案
  • 如何让加密音乐彻底自由?我用了三天找到这个终极解锁方案
  • 熵权TOPSIS法:从数据中客观提取指标权重与综合评价排序
  • 7/8防爆航空插头选不锈钢还是铝合金?石油化工vs煤矿场景材质选择指南
  • FanControl风扇控制实战手册:一小时内让风扇学会自己“看温度办事“
  • 01-时序数据库核心思想:海量设备点位、时序数据存储原理
  • 新概念英语自学者的完整资料库:NewConceptEnglish 从逐课笔记到20000词汇一次配齐
  • reserved-usernames项目贡献指南:如何添加新用户名并参与开源协作
  • LightAdmin架构探秘:核心组件与设计模式深度剖析
  • flink-on-k8s-operator常见问题与解决方案:运维人员的 troubleshooting 手册
  • FitGirl游戏下载管理工具三步上手:搭好你的专属游戏库一键启动器
  • 从DeepSeek首款Agent产品Harness预览版看智能体赛道:NVIDIA与Meta同日围堵,Agent进入“人人可搭“时代