macOS 包管理器 Homebrew

Homebrew 包管理简介

Homebrew 是 macOS(和 Linux)的一个包管理器,它简化了在 macOS 操作系统上安装、管理和卸载软件包的过程。它是由 Max Howell 创建的,并且是一个开源项目。Homebrew 安装的软件包被称为“formulae”。 Homebrew 通过 tap 方式定义源,官方默认提供了 brew、homebrew-core 、homebrew-cask 、homebrew-bottles 四个常用的源(仓库),用户也可以通过 tap 定义自己的源。 通过使用简单的命令行指令,用户可以快速地安装他们需要的软件,无需手动下载、配置和安装。Homebrew 的目标是帮助用户轻松管理在 Unix 系统上通常较为复杂的软件安装过程。

Homebrew 的主要特点包括:

  1. 易用性:通过简单的命令,如 brew install package_name,即可安装需要的软件包。
  2. 大量软件包:Homebrew 拥有一个庞大的公式库,涵盖了从命令行工具到图形界面应用程序的广泛软件。
  3. 依赖性管理:当安装某个软件包时,Homebrew 会自动处理并安装所需的依赖项。
  4. 更新和卸载:可以通过 brew upgrade package_name 来更新软件包,或使用 brew uninstall package_name 来卸载。
  5. 社区驱动:Homebrew 拥有活跃的社区,不断有新的 formulae 被添加和更新。
  6. 扩展性:用户可以创建自己的 Homebrew tap(第三方库),这允许他们管理并安装非官方的 formulae。

Homebrew 源

在使用 brew install 安装软件的过程中,经常会遇到安装缓慢、卡死的情况,这大多是由于 Homebrew 的默认安装源位于国外,国内访问速度慢造成的,解决这个问题的方法是将安装源替换为国内镜像,常用的国内镜像包括:阿里云镜像、清华镜像(木子在用) 、中科大镜像等。

Homebrew 的四个主要源 brew, homebrew-core, homebrew-cask, 和 homebrew-bottles 各自有不同的作用和功能:

  1. brew

    • 这是 Homebrew 的核心代码仓库,也就是 Homebrew 的本体,包含了 Homebrew 的核心脚本、命令行工具和内部逻辑。当你通过 git 更新 Homebrew 或者通过 brew update 命令更新时,实际上是在更新这个仓库的内容。
    • 默认地址: https://github.com/Homebrew/brew.git
  2. homebrew-core

    • 这个仓库包含了 Homebrew 的核心 formulae(公式)。Formulae 是用 Ruby 语言编写的脚本,它们定义了如何安装某个软件包(例如它的源代码在哪里,如何编译等)。homebrew-core 是 Homebrew 官方支持的 formulae 的集合,通常是用户需要的大部分软件。
    • 默认地址: https://github.com/Homebrew/homebrew-core.git
  3. homebrew-cask

    • Homebrew Cask 是 Homebrew 的一个扩展,专门用于管理 macOS 的图形界面应用程序。Cask 允许用户用命令行的方式安装、升级和管理 macOS 应用程序。与 formulae 类似,cask 是一系列的脚本,但它们专注于安装 .app 类型的应用程序,而不是从源代码编译。homebrew-cask 仓库包含了数以千计的 cask 脚本。
    • 默认地址: https://github.com/Homebrew/homebrew-cask.git
  4. homebrew-bottles

    • 当 Homebrew 安装软件时,它可以选择从源码编译软件,也可以下载预编译的二进制包(称为 bottles)。homebrew-bottles 是一个存储库,它包含了预编译的二进制包。使用 bottles 可以大大加快软件的安装速度,因为用户不需要在本地机器上编译软件。Bottles 可以包含特定于操作系统版本(macOS)的优化。
    • 默认地址: https://bintray.com/homebrew/bottles

总结来说,brew 是 Homebrew 本身的代码,homebrew-corehomebrew-cask 是用户可以通过 Homebrew 安装的软件包的脚本,而 homebrew-bottles 是已经编译好的软件包的集合。

安装 Homebrew

# 首次安装,需要先安装 Command Line Tools (CLT) for Xcode
xcode-select --install

# 首次安装,导入环境变量
export HOMEBREW_INSTALL_FROM_API=1
export HOMEBREW_API_DOMAIN="https://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles/api"
export HOMEBREW_BOTTLE_DOMAIN="https://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles"
export HOMEBREW_BREW_GIT_REMOTE="https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/brew.git"
export HOMEBREW_CORE_GIT_REMOTE="https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-core.git"

# 直接使用清华源提供的安装脚本安装 Homebrew,官方提供的安装脚本需要从 github 下载
git clone --depth=1 https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/install.git brew-install
/bin/bash brew-install/install.sh
rm -rf brew-install

# 更新源
❯ brew update

# 查看 brew 配置
❯ brew config
HOMEBREW_VERSION: 4.2.11
ORIGIN: https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/brew.git
HEAD: d7d4c8266210c024b93a450a7d357cec0b46a1bb
Last commit: 23 hours ago
Core tap JSON: 01 Jan 07:43 UTC
Core cask tap JSON: 01 Jan 08:27 UTC
HOMEBREW_PREFIX: /usr/local
HOMEBREW_CASK_OPTS: []
HOMEBREW_MAKE_JOBS: 8
Homebrew Ruby: 3.1.4 => /usr/local/Homebrew/Library/Homebrew/vendor/portable-ruby/3.1.4/bin/ruby
CPU: octa-core 64-bit kabylake
Clang: 15.0.0 build 1500
Git: 2.39.0 => /usr/local/bin/git
Curl: 8.4.0 => /usr/bin/curl
macOS: 14.3.1-x86_64
CLT: 15.1.0.0.1.1700200546
Xcode: N/A

# 配置永久有效,因为木子用的是 zsh,所以直接放在 ~/.zshrc 中,也可能放在 /etc/profile 或 ~/.profile 等文件中
echo 'export HOMEBREW_API_DOMAIN="https://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles/api"' >> ~/.zshrc
echo 'export HOMEBREW_BOTTLE_DOMAIN="https://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles"' >> ~/.zshrc
echo 'export HOMEBREW_BREW_GIT_REMOTE="https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/brew.git"' >> ~/.zshrc
echo 'export HOMEBREW_CORE_GIT_REMOTE="https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-core.git"' >> ~/.zshrc
source ~/.zshrc

brew 常用命令

brew 命令很多,可以通过 brew --help 查看帮忙,这里简单罗列一些常用的。

brew update # 同步远程最新更新情况,对本机已经安装并有更新的软件用*标明
brew install 包名称 # 安装软件包
brew uninstall 包名称 # 卸载软件包
brew search 包名称 # 搜索软件包
brew upgrade 包名称 # 更新单个软件包
brew info 包名称 # 查看软件包信息
brew outdated # 查看已安装的哪些软件包需要更新
brew cleanup 包名称 # 清理所有已安装软件包的历史老版本
brew list # 列出软件包

这里以安装 k9s 为例:

# 安装 k9s
❯ brew install k9s

# 验证是否安装成功
❯ brew list | grep k9s
k9s

参考文献

[1] homebrew安装包下载_开源镜像站-阿里云
[2] Homebrew 源使用帮助 — USTC Mirror Help 文档
[3] macOS(或 Linux)缺失的软件包的管理器 --Homebrew
[4] homebrew | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

Avatar photo

关于 木子

Founder of the Rocky Linux Chinese community, MVP、VMware vExpert、TVP, advocate for cloud native technologies, with over ten years of experience in site reliability engineering (SRE) and the DevOps field. Passionate about Cloud Computing、Microservices、CI&CD、DevOps、Kubernetes, currently dedicated to promoting and implementing Rocky Linux in Chinese-speaking regions.
用一杯咖啡支持我们,每一篇 [文档] 都经过我们实操,并非从网上一味的copy,期间花费了大量的心思,希望能够帮忙到您。
暂无评论

发送评论 编辑评论


|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇