The missing package manager for macOS (or Linux)

Homebrew (opens new window) 的定位是 macOS 缺失的软件包的管理器,安装 Apple 没有预装但  你需要的东西 (opens new window)。在 2.0 版本后更是支持了 Linux 和 Windows Subsystem for Linux 。 历经 10 年的发展,macOS 下绝大部分软件都能用 Homebrew 管理了,安装、卸载、更新都只需要一个简单的命令。目前除了少数只在 AppStore 上架和不支持 Homebrew 管理的软件,我一律使用 Homebrew 管理。

# 安装

因 Homebrew 相关服务器在国外请自行科学上网

将以下命令粘贴至终端,脚本会在执行前暂停,并说明将它将做什么。高级安装选项在  这里 (opens new window)

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

# 使用帮助

Homebrew 的可执行命令是 brew,其基本使用方法如下(以 python 为例)。

查找软件包

brew search python

可选参数--cask,用于有界面的软件安装、卸载、更新,如安装微信:brew insatll --cask wechat

安装软件包

brew install python

列出已安装的软件包

brew list

卸载软件包

brew uninstall python

查看软件包信息

brew info python

列出软件包的依赖关系

brew deps python

更新 brew

brew update

列出过时的软件包(已安装但不是最新版本)

brew outdated

更新过时的全部软件包

brew upgrade

更新过时的指定软件包

brew upgrade python

标记了自动更新「auto_update」的软件包,在执行更新指令时,并不会被列举出来。像微信那种的软件包不支持热更新,完全不利于 Homebrew 的管理,想要升级这类软件包,需要在指令后面添加 --greedy 参数。

brew outdated --cask --greedy
brew upgrade --cask --greedy

清理过时的软件包下载缓存

brew cleanup

# 软件仓库

虽然 Homebrew 内置的两个仓库 homebrew-core、homebrew-cask 包含了绝大部分软件,但还是推荐添加如下两个仓库,然后就可以搜到相关软件了。

homebrew-cask-fonts:字体仓库,Powerline 字体包含在内

brew tap homebrew/cask-fonts

homebrew-cask-versions:替换版本仓库,如安装多个版本的 JDK

brew tap homebrew/cask-versions

天高任鸟飞,海阔凭鱼跃,余下的特性自由探索吧。