新拿到 Mac,想装个 wget,终端提示 command not found。macOS 默认不带包管理器,得先装 Homebrew,装好之后命令行软件基本就是 brew install 一条命令的事。
先装 Homebrew 本体
去 Homebrew 官网复制那条安装脚本,粘贴进终端回车,中途会要求输管理员密码。装完敲 brew -v,有版本号输出就算成功。Apple 芯片的机器装在 /opt/homebrew,Intel 机器在 /usr/local,如果终端还是找不到 brew 命令,一般是 PATH 没带上安装目录,把对应 bin 路径加进 shell 配置文件,重开终端就好。
日常用法和常用命令
装命令行工具:brew install wget。装 GUI 应用要加 --cask:brew install --cask google-chrome。不确定包名就先 brew search 关键词,看看仓库里叫什么。卸载用 brew uninstall,升级全部软件是 brew update && brew upgrade,清理旧版本缓存用 brew cleanup。
装了带后台服务的软件,比如数据库、反向代理,开机自启交给 brew services 管:start 启动、stop 停止、list 看当前托管了哪些。想盘点装过什么,brew list 一列全出来,重装系统前导出这份清单,新机器照着装一遍就恢复了。
安装慢或者中途超时,多数情况是网络问题,把 Homebrew 的仓库源和 bottles 源换成国内镜像(清华、中科大都提供)会明显提速,换完跑一次 brew update 验证。
两个容易踩的坑
一是 node 这类开发环境包,版本迭代很激进,正经项目还是用 nvm 这类版本管理器单独管,免得全局环境被升级搞乱。二是报 Permission denied 别习惯性加 sudo,Homebrew 的目录设计不需要 root,乱用 sudo 会把目录权限搞坏,真遇到权限问题先查目录归属再处理。
取舍很简单:命令行小工具交给包管理器,大型 GUI 软件去官网下 dmg 安装包更稳,开发环境交给版本管理器,各管各的。