工具类 - Homebrew

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。

  1. brew

    这是 Homebrew 的主命令,所有操作都以 brew 开头。

  2. command

    command 是你要执行的具体操作,例如:

    • install:安装软件包。
    • uninstall:卸载软件包。
    • upgrade:升级软件包。
    • info:查看软件包信息。
    • list:列出已安装的软件包。
  3. [--verbose|-v]

    --verbose 和 -v 是选项(options),用于启用详细输出模式。

    --verbose 是长选项,-v 是短选项,两者功能相同。

    方括号 [] 表示这个选项是可选的,不是必须的。

    例如:

    brew install wget --verbose
    
    brew install wget -v
    

    这两个命令都会在安装 wget 时显示详细的调试信息。

  4. [options]

    [options] 表示可以附加的其他选项。

    不同的命令支持不同的选项,可以通过 brew help 查看具体支持的选项。

    例如,brew install 支持以下选项:

    –formula:指定安装 Formula(默认行为)。

    –cask:指定安装 Cask(用于 macOS 应用程序)。

    –force:强制安装,即使已经安装了该软件包。

    例如:

    brew install --cask google-chrome
    

    这个命令会安装 macOS 应用程序 Google Chrome。

  5. [formula]

    [formula] 是你要操作的软件包名称。

    方括号 [] 表示这个参数在某些情况下是可选的,但在大多数命令中是需要指定的。

    例如:

    brew install wget
    

    这个命令会安装 wget 软件包。

  6. … 表示可以指定多个参数。

    例如,你可以一次性安装多个软件包:

    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 listbrew ls 是一样的。不跟参数会列出所有已安装的软件包/图形应用。

你也可以跟上一个软件包/图形应用的名字来查看它们各自的信息;

也可以跟上 --formula / --cask 来查看软件包/图形应用。

9. 清理软件包/图形应用

brew cleanup [options] [formula|cask ...]

过期的,不相关的,,,

卸载后会有一些残留的东西或者,与之相关的依赖项,这个时候就可以都清理掉,节省储存空间。

进一步了解 Homebrew

可以看看这篇文章 - Homebrew 的设计哲学