TOC
什么是 Homebrew
macOS(或 Linux)缺失的软件包的管理器, Homebrew 官网(简体中文)
Homebrew 能干什么
使用 Homebrew 安装 Apple(或您的 Linux 系统)没有预装但你需要的东西。
Homebrew 会将软件包安装到独立目录,并将其文件软链接至 /opt/homebrew 。
Homebrew 不会将文件安装到它本身目录之外,所以您可将 Homebrew 安装到任意位置。
“要安装,请拖动此图标……”不会再出现了。使用 Homebrew Cask 安装 macOS 应用程序、字体和插件以及其他非开源软件。
比如,要下载youtube音视频,可以使用 yt-dlp; 转换图片格式,可以使用 imagemagic…
安装 Homebrew
两种方法:
命令行的方式:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"复制上边的命令,然后打开终端粘贴后按
↵(Return键)就可以了。脚本会在执行前暂停,并说明它将做什么。
图形化安装(.pkg 安装器)(不过我没试过这种方法):
从 Homebrew 最新的 GitHub 发行版 下载。
选择标记为
Latest(最新)的数字链接, 点进去,下滑到 Assets, 下载.pkg的文件就可以按照图形应用安装了。
Homebrew 语法
brew --version
brew command [--verbose|-v] [options] [formula] …
关于这种语法的一些说明,来自deepseek。
brew
这是 Homebrew 的主命令,所有操作都以 brew 开头。
command
command 是你要执行的具体操作,例如:
- install:安装软件包。
- uninstall:卸载软件包。
- upgrade:升级软件包。
- info:查看软件包信息。
- list:列出已安装的软件包。
[--verbose|-v]
--verbose 和 -v 是选项(options),用于启用详细输出模式。
--verbose 是长选项,-v 是短选项,两者功能相同。
方括号 [] 表示这个选项是可选的,不是必须的。
例如:
brew install wget --verbosebrew install wget -v这两个命令都会在安装 wget 时显示详细的调试信息。
[options]
[options] 表示可以附加的其他选项。
不同的命令支持不同的选项,可以通过 brew help
查看具体支持的选项。 例如,brew install 支持以下选项:
–formula:指定安装 Formula(默认行为)。
–cask:指定安装 Cask(用于 macOS 应用程序)。
–force:强制安装,即使已经安装了该软件包。
例如:
brew install --cask google-chrome这个命令会安装 macOS 应用程序 Google Chrome。
[formula]
[formula] 是你要操作的软件包名称。
方括号 [] 表示这个参数在某些情况下是可选的,但在大多数命令中是需要指定的。
例如:
brew install wget这个命令会安装 wget 软件包。
…
… 表示可以指定多个参数。
例如,你可以一次性安装多个软件包:
brew install wget git python
常用命令
1. 帮助
xdl@MacBook-Air ~/Documents/github/blog % brew help
Example usage:
brew search TEXT|/REGEX/
brew info [FORMULA|CASK...]
brew install FORMULA|CASK...
brew update
brew upgrade [FORMULA|CASK...]
brew uninstall FORMULA|CASK...
brew list [FORMULA|CASK...]
Troubleshooting:
brew config
brew doctor
brew install --verbose --debug FORMULA|CASK
Contributing:
brew create URL [--no-fetch]
brew edit [FORMULA|CASK...]
Further help:
brew commands
brew help [COMMAND]
man brew
https://docs.brew.sh
按照上边的最后一部分的说明(Further help),你可以去实践。注意退出帮助文档是按q键。
2. 查找软件包/图形应用
brew search TEXT|/REGEX/
比如:
xdl@MacBook-Air ~ % brew search google
==> Formulae
aws-google-auth google-go googletest
google-authenticator-libpam google-java-format goose
google-benchmark google-sparsehash
==> Casks
google-ads-editor google-drive
google-analytics-opt-out google-earth-pro
google-assistant google-japanese-ime
google-chat google-japanese-ime@dev
google-chat-electron google-trends
google-chrome google-web-designer
google-chrome@beta googleappengine
google-chrome@canary marshallofsound-google-play-music-player
google-chrome@dev moefe-google-translate
google-cloud-sdk vpn-by-google-one
上边是包含我们查找关键字的软件包,下边是图形应用。
3. 查看软件包/图形应用的信息
brew info [FORMULA|CASK...]
比如这里我们要看谷歌浏览器的信息:
xdl@MacBook-Air ~ % brew info google-chrome
==> google-chrome: 134.0.6998.118 (auto_updates)
https://www.google.com/chrome/
Not installed
From: https://github.com/Homebrew/homebrew-cask/blob/HEAD/Casks/g/google-chrome.rb
==> Name
Google Chrome
==> Description
Web browser
==> Artifacts
Google Chrome.app (App)
==> Analytics
install: 24,090 (30 days), 66,935 (90 days), 249,495 (365 days)
可以看到提示我们:
- 版本名称;
- 在我们的电脑上还没有安装;
- 应用名称,描述,homebrew关于这个应用的统计信息
我们再看一个例子
xdl@MacBook-Air ~ % brew info yt-dlp
==> yt-dlp: stable 2025.2.19 (bottled), HEAD
Feature-rich command-line audio/video downloader
https://github.com/yt-dlp/yt-dlp
Installed
/opt/homebrew/Cellar/yt-dlp/2025.2.19 (1,929 files, 24MB) *
Poured from bottle using the formulae.brew.sh API on 2025-03-12 at 23:15:56
From: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/y/yt-dlp.rb
License: Unlicense
==> Dependencies
Required: certifi ✔, python@3.13 ✔
==> Options
--HEAD
Install HEAD version
==> Caveats
zsh completions have been installed to:
/opt/homebrew/share/zsh/site-functions
==> Analytics
install: 34,243 (30 days), 120,042 (90 days), 442,651 (365 days)
install-on-request: 32,457 (30 days), 113,509 (90 days), 412,789 (365 days)
build-error: 37 (30 days)
可以看到提示:
- 这个软件包的描述;
- 官网;
- 已经安装好了,安装的文件路径;
- 依赖项(也装好了)
4. 安装软件包/图形应用
brew intall <package-name>
brew install --cask <app-name>
比如安装yt-dlp
brew install yt-dlp
安装谷歌浏览器
brew install --cask google-chrome
说明:brew安装的都是最新版本的
5. 更新 Homebrew 本身
brew update
一般情况下,Homebrew是自动更新的,所以你也用不着输入这个命令。
但是如果你想它的自动更新给关了,就在.zshrc文件里加上这么一句:
# 禁用自动更新
export HOMEBREW_NO_AUTO_UPDATE=1
以后如果想要打开自动更新,就把这句删除了。
6. 更新 brew 安装的软件包/图形应用
首先你可以查看有哪些软件包/图形应用有新版本,列出旧版。
brew outdated
然后再更新,当然你也可以不查看,直接更新。
brew upgrade [FORMULA|CASK...]
你可以指定更新具体的软件包/图形应用,也可以不跟名字表示更新全部。
更新 yt-dlp:
brew upgrade yt-dlp
更新全部:
brew upgrade
7. 卸载已安装的软件包/图形应用
brew uninstall [--formula | --cask] <app-name | package-name>
比如,要卸载yt-dlp
brew uninstall yt-dlp
要卸载谷歌浏览器
brew uninstall google-chrome
或者
brew uninstall --cask google-chrome
这里说明一下,第一个也可以卸载,第二个也可以卸载,区别在于加与不加--cask这个参数,因为一般不会有重名的软件包或者图形应用,所以第一个就可以卸载了,第二个只是更加精确,指明要卸载的是的图形应用,这样假如有重名的软件包和图形应用,那么就能准确的删除图形应用而保留软件包。
这里如何区分这个,是我使用brew help uninstall查看的。
xdl@MacBook-Air ~ % brew help uninstall
Usage: brew uninstall, remove, rm [options] installed_formula|installed_cask
[...]
Uninstall a formula or cask.
-f, --force Delete all installed versions of formula.
Uninstall even if cask is not installed,
overwrite existing files and ignore errors
when removing files.
--zap Remove all files associated with a cask.
May remove files which are shared between
applications.
--ignore-dependencies Don't fail uninstall, even if formula is a
dependency of any installed formulae.
--formula, --formulae Treat all named arguments as formulae.
--cask, --casks Treat all named arguments as casks.
-d, --debug Display any debugging information.
-q, --quiet Make some output more quiet.
-v, --verbose Make some output more verbose.
-h, --help Show this message.
Homebrew 默认会卸载相关的软件包/图形应用对应的所有版本
8. 查看已安装的软件包/图形应用
brew list, ls [options] [installed_formula|installed_cask ...]
比如:
brew list
brew list 和 brew ls 是一样的。不跟参数会列出所有已安装的软件包/图形应用。
你也可以跟上一个软件包/图形应用的名字来查看它们各自的信息;
也可以跟上 --formula / --cask 来查看软件包/图形应用。
9. 清理软件包/图形应用
brew cleanup [options] [formula|cask ...]
过期的,不相关的,,,
卸载后会有一些残留的东西或者,与之相关的依赖项,这个时候就可以都清理掉,节省储存空间。
进一步了解 Homebrew
可以看看这篇文章 - Homebrew 的设计哲学