Homebrew (brew)
简介 Homebrew 是 macOS 上最流行的包管理器,用于安装和管理命令行工具及应用程序。 brew 会把软件安装在用户主目录里,不需要 sudo brew(formula)装的主要是命令行工具 brew cask 装的大多是有 GUI 界面的 app 以及驱动 Formula 与 Cask 的区别 两者的本质区别是安装方式,不是有没有 GUI: formula:需要从源码编译或解压二进制的工具,brew 完全管理其生命周期 cask:处理 .dmg、.pkg、.zip(含 .app)这类"分发包",安装时需要复制到 /Applications、注册 UTI、处理系统权限等,安装/卸载逻辑与 formula 完全不同 两套安装逻辑分开,互不干扰,也便于用户区分"这是个 CLI 工具"还是"这是个桌面 App"。 实际使用中的经验规律: 类型 典型情况 例外 formula(不加 --cask) 命令行工具、库 极少数带 GUI cask(--cask) GUI 桌面 App google-cloud-sdk、android-platform-tools 等纯 CLI 官方说法是:cask 用于安装"macOS native apps and large binaries",重点是分发形式(预编译的大型安装包),而不是有没有界面。 Homebrew 术语表(酿酒比喻) Homebrew 整个项目名叫"家酿啤酒",术语全部来自酿酒场景: 术语 酿酒含义 对应概念 formula 配方 软件的安装脚本 keg 酒桶 安装后的目录(/usr/local/Cellar/<pkg>) cellar 酒窖 所有已安装包的存放处 tap 水龙头(接上一个新酒桶) 接入一个新的软件仓库 cask 大木桶(装整瓶酒) 完整的 macOS App bottle 预先装好的瓶子 预编译的二进制包 安装与卸载 brew # 安装 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" # 卸载 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall.sh)" 常用命令 # 搜索 brew search foo # 安装 brew install ansible brew install --cask obsidian # 卸载 brew uninstall packageName # 列出已安装的包 brew list # 查看所有需要更新的包 brew outdated # 更新某一个包 brew upgrade package0 # 更新所有包,相当于 Arch Linux 的 pacman -Syu # brew upgrade 会自动先执行 brew update 刷新 formula 列表,再升级所有包 brew upgrade # 配置信息 brew config # 检查系统问题 brew doctor 不认识的包怎么查 brew upgrade 或 brew outdated 里经常出现一些不认识的包名,多数是别的软件的依赖,被顺带装上。按下面的顺序查: ...