一、Homebrew
1、Homebrew 简介
官网地址:https://brew.sh
Homebrew 是一款Mac OS平台下的软件包管理工具,拥有安装、卸载、更新、查看、搜索等很多实用的功能。
Homebrew 主要有四个部分组成: brew、homebrew-core 、homebrew-bottles、homebrew-cask。
源 | 说明 |
---|---|
brew | Homebrew 源代码仓库 |
homebrew-core | Homebrew 核心软件仓库 |
homebrew-bottles | Homebrew 预编译二进制软件包 |
homebrew-cask | 提供 macOS 应用和大型二进制文件 |
2、安装 Homebrew
下边三种命令任选一条命令执行即可:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)
source ~/.zprofile
安装日志:
zs@Mac ~ % /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
==> Checking for `sudo` access (which may request your password)...
Password:
==> This script will install:
/opt/homebrew/bin/brew
/opt/homebrew/share/doc/homebrew
/opt/homebrew/share/man/man1/brew.1
/opt/homebrew/share/zsh/site-functions/_brew
/opt/homebrew/etc/bash_completion.d/brew
/opt/homebrew
/etc/paths.d/homebrew
==> The following new directories will be created:
/opt/homebrew/bin
/opt/homebrew/etc
/opt/homebrew/include
/opt/homebrew/lib
/opt/homebrew/sbin
/opt/homebrew/share
/opt/homebrew/var
/opt/homebrew/opt
/opt/homebrew/share/zsh
/opt/homebrew/share/zsh/site-functions
/opt/homebrew/var/homebrew
/opt/homebrew/var/homebrew/linked
/opt/homebrew/Cellar
/opt/homebrew/Caskroom
/opt/homebrew/Frameworks
==> The Xcode Command Line Tools will be installed.
Press RETURN/ENTER to continue or any other key to abort:
==> /usr/bin/sudo /usr/bin/install -d -o root -g wheel -m 0755 /opt/homebrew
==> /usr/bin/sudo /bin/mkdir -p /opt/homebrew/bin /opt/homebrew/etc /opt/homebrew/include /opt/homebrew/lib /opt/homebrew/sbin /opt/homebrew/share /opt/homebrew/var /opt/homebrew/opt /opt/homebrew/share/zsh /opt/homebrew/share/zsh/site-functions /opt/homebrew/var/homebrew /opt/homebrew/var/homebrew/linked /opt/homebrew/Cellar /opt/homebrew/Caskroom /opt/homebrew/Frameworks
==> /usr/bin/sudo /bin/chmod ug=rwx /opt/homebrew/bin /opt/homebrew/etc /opt/homebrew/include /opt/homebrew/lib /opt/homebrew/sbin /opt/homebrew/share /opt/homebrew/var /opt/homebrew/opt /opt/homebrew/share/zsh /opt/homebrew/share/zsh/site-functions /opt/homebrew/var/homebrew /opt/homebrew/var/homebrew/linked /opt/homebrew/Cellar /opt/homebrew/Caskroom /opt/homebrew/Frameworks
==> /usr/bin/sudo /bin/chmod go-w /opt/homebrew/share/zsh /opt/homebrew/share/zsh/site-functions
==> /usr/bin/sudo /usr/sbin/chown zs /opt/homebrew/bin /opt/homebrew/etc /opt/homebrew/include /opt/homebrew/lib /opt/homebrew/sbin /opt/homebrew/share /opt/homebrew/var /opt/homebrew/opt /opt/homebrew/share/zsh /opt/homebrew/share/zsh/site-functions /opt/homebrew/var/homebrew /opt/homebrew/var/homebrew/linked /opt/homebrew/Cellar /opt/homebrew/Caskroom /opt/homebrew/Frameworks
==> /usr/bin/sudo /usr/bin/chgrp admin /opt/homebrew/bin /opt/homebrew/etc /opt/homebrew/include /opt/homebrew/lib /opt/homebrew/sbin /opt/homebrew/share /opt/homebrew/var /opt/homebrew/opt /opt/homebrew/share/zsh /opt/homebrew/share/zsh/site-functions /opt/homebrew/var/homebrew /opt/homebrew/var/homebrew/linked /opt/homebrew/Cellar /opt/homebrew/Caskroom /opt/homebrew/Frameworks
==> /usr/bin/sudo /usr/sbin/chown -R zs:admin /opt/homebrew
==> /usr/bin/sudo /bin/mkdir -p /Users/zs/Library/Caches/Homebrew
==> /usr/bin/sudo /bin/chmod g+rwx /Users/zs/Library/Caches/Homebrew
==> /usr/bin/sudo /usr/sbin/chown -R zs /Users/zs/Library/Caches/Homebrew
==> Searching online for the Command Line Tools
==> /usr/bin/sudo /usr/bin/touch /tmp/.com.apple.dt.CommandLineTools.installondemand.in-progress
==> Installing Command Line Tools for Xcode-16.2
==> /usr/bin/sudo /usr/sbin/softwareupdate -i Command\ Line\ Tools\ for\ Xcode-16.2
Software Update Tool
Finding available software
Downloading Command Line Tools for Xcode
Downloaded Command Line Tools for Xcode
Installing Command Line Tools for Xcode
Done with Command Line Tools for Xcode
Done.
==> /usr/bin/sudo /usr/bin/xcode-select --switch /Library/Developer/CommandLineTools
==> /usr/bin/sudo /bin/rm -f /tmp/.com.apple.dt.CommandLineTools.installondemand.in-progress
==> Downloading and installing Homebrew...
remote: Enumerating objects: 305903, done.
remote: Counting objects: 100% (181/181), done.
remote: Compressing objects: 100% (120/120), done.
remote: Total 305903 (delta 105), reused 105 (delta 61), pack-reused 305722 (from 4)
remote: Enumerating objects: 55, done.
remote: Counting objects: 100% (33/33), done.
remote: Total 55 (delta 33), reused 33 (delta 33), pack-reused 22 (from 1)
==> /usr/bin/sudo /bin/mkdir -p /etc/paths.d
==> /usr/bin/sudo tee /etc/paths.d/homebrew
/opt/homebrew/bin
==> /usr/bin/sudo /usr/sbin/chown root:wheel /etc/paths.d/homebrew
==> /usr/bin/sudo /bin/chmod a+r /etc/paths.d/homebrew
==> Updating Homebrew...
==> Downloading https://ghcr.io/v2/homebrew/portable-ruby/portable-ruby/blobs/sha256:20fa657858e44a4b39171d6e4111f8a9716eb62a78ebbd1491d94f90bb7b830a
######################################################################### 100.0%
==> Pouring portable-ruby-3.4.5.arm64_big_sur.bottle.tar.gz
==> Installation successful!
==> Homebrew has enabled anonymous aggregate formulae and cask analytics.
Read the analytics documentation (and how to opt-out) here:
https://docs.brew.sh/Analytics
No analytics data has been sent yet (nor will any be during this install run).
==> Homebrew is run entirely by unpaid volunteers. Please consider donating:
https://github.com/Homebrew/brew#donations
==> Next steps:
- Run these commands in your terminal to add Homebrew to your PATH:
echo >> /Users/zs/.zprofile
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> /Users/zs/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"
- Run brew help to get started
- Further documentation:
https://docs.brew.sh
3、卸载 Homebrew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/uninstall.sh)"
4、Homebrew 命令
命令 | 说明 |
---|---|
brew -v | 查看版本 |
brew -h | 查看帮助信息 |
brew help | 查看帮助信息 |
brew list | 列出已安装的软件包 |
brew update | 更新 homebrew |
brew outdated | 列出可以更新的软件包 |
brew upgrade | 更新所有安装过的软件包 |
brew upgrade git | 更新指定的软件包 |
brew search git | 查找软件包 |
brew install git | 安装软件包 |
brew remove git | 卸载软件包 |
brew info git | 查看软件包信息 |
brew deps git | 列出软件包的依赖关系 |
5、Homebrew 修改镜像源
(1)替换 Homebrew 核心仓库(brew 本体)
# 使用中科大镜像
git -C "$(brew --repo)" remote set-url origin https://mirrors.ustc.edu.cn/brew.git
# 或者使用清华大学镜像
git -C "$(brew --repo)" remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/brew.git
# 或者使用阿里源
git -C "$(brew --repo)" remote set-url origin https://mirrors.aliyun.com/homebrew/brew.git
(2)替换 Homebrew Core 软件仓库
# 使用中科大镜像
git -C "$(brew --repo homebrew/core)" remote set-url origin https://mirrors.ustc.edu.cn/homebrew-core.git
# 或者使用清华大学镜像
git -C "$(brew --repo homebrew/core)" remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-core.git
# 或者使用阿里源
git -C "$(brew --repo homebrew/core)" remote set-url origin https://mirrors.aliyun.com/homebrew/homebrew-core.git
如果报错:fatal: cannot change to '/opt/homebrew/Library/Taps/homebrew/homebrew-core': No such file or directory
执行 brew --version
可以正常打印版本,说明 Homebrew 已安装但 Core 仓库缺失,可以手动创建并设置镜像:
# 创建 Core 仓库目录
mkdir -p "$(brew --repo)/Library/Taps/homebrew"
cd "$(brew --repo)/Library/Taps/homebrew"
# 克隆中科大镜像的 homebrew-core
git clone https://mirrors.ustc.edu.cn/homebrew-core.git
# 验证仓库路径
brew --repo homebrew/core
# 应输出:/opt/homebrew/Library/Taps/homebrew/homebrew-core
(3)替换 Homebrew Cask 仓库(用于安装 macOS 应用)
# 使用中科大镜像
git -C "$(brew --repo homebrew/cask)" remote set-url origin https://mirrors.ustc.edu.cn/homebrew-cask.git
# 或者使用清华大学镜像
git -C "$(brew --repo homebrew/cask)" remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-cask.git
如果报错:fatal: cannot change to '/opt/homebrew/Library/Taps/homebrew/homebrew-cask': No such file or directory
手动创建并初始化 Homebrew Cask 仓库:
# 创建 Cask 仓库目录
mkdir -p "$(brew --repo)/Library/Taps/homebrew"
cd "$(brew --repo)/Library/Taps/homebrew"
# 克隆中科大镜像的 homebrew-cask
git clone https://mirrors.ustc.edu.cn/homebrew-cask.git
# 验证仓库路径
brew --repo homebrew/cask
# 应输出:/opt/homebrew/Library/Taps/homebrew/homebrew-cask
(4)替换 Bottles 二进制包镜像(加速下载预编译包)
- 方法一:临时生效(当前终端会话)
# 中科大镜像 export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.ustc.edu.cn/homebrew-bottles # 或者清华大学镜像 export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles
- 方法二:永久生效(推荐):将镜像配置添加到 shell 配置文件(如 .zshrc 或 .bash_profile):
# 如果你使用的是 zsh(macOS 默认) echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.ustc.edu.cn/homebrew-bottles' >> ~/.zshrc # 如果你使用的是 bash echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.ustc.edu.cn/homebrew-bottles' >> ~/.bash_profile # 使配置立即生效 source ~/.zshrc # 或 source ~/.bash_profile
(5)刷新并验证配置
# 重置并更新 Homebrew
brew update-reset
# 查看当前配置(可选)
brew config
brew config
输出的各项配置的详细说明:
- Homebrew 版本与源信息
HOMEBREW_VERSION: 4.5.12 ORIGIN: https://mirrors.ustc.edu.cn/brew.git HEAD: 50fa89e96bccedeca21287427eb7db12289f57ea Last commit: 21 hours ago Branch: stable
- HOMEBREW_VERSION:当前 Homebrew 的版本号。
- ORIGIN:Homebrew 核心仓库的远程源(已替换为中科大镜像)。
- HEAD:当前使用的 Git 提交哈希值。
- Last commit:最后一次更新的时间(相对于你执行命令时)。
- Branch:使用的分支(stable 表示稳定版)。
- Core 仓库信息
Core tap HEAD: 591f259a84740b8f74e4423bb8728ffbe051159a Core tap last commit: 41 minutes ago Core tap JSON: 24 Jul 17:47 UTC
- Core tap:Homebrew Core 仓库(存储命令行工具的配方)。
- HEAD/Last commit:Core 仓库的最新提交信息。
- JSON:Core 仓库的元数据更新时间(UTC 时区)。
- Cask 仓库信息
Core cask tap origin: https://mirrors.ustc.edu.cn/homebrew-cask.git Core cask tap HEAD: 2ed86cc048383b09f97325dfd7f1ef84b6d11d89 Core cask tap last commit: 50 minutes ago Core cask tap JSON: 24 Jul 17:47 UTC
- Cask tap origin:Homebrew Cask 仓库的远程源(已替换为中科大镜像)。
- HEAD/Last commit/JSON:与 Core 仓库类似,反映 Cask 仓库的更新状态。
- 系统路径与环境配置
HOMEBREW_PREFIX: /opt/homebrew HOMEBREW_BOTTLE_DOMAIN: https://mirrors.ustc.edu.cn/homebrew-bottles HOMEBREW_CASK_OPTS: [] HOMEBREW_MAKE_JOBS: 10
- HOMEBREW_PREFIX:Homebrew 的安装路径(Apple Silicon 芯片默认路径)。
- HOMEBREW_BOTTLE_DOMAIN:Bottles 二进制包的镜像源(中科大镜像)。
- HOMEBREW_CASK_OPTS:Cask 命令的额外选项(当前为空)。
- HOMEBREW_MAKE_JOBS:编译时使用的并行线程数(与 CPU 核心数相关)。
- 依赖工具版本
Homebrew Ruby: 3.4.5 => /opt/homebrew/Library/Homebrew/vendor/portable-ruby/3.4.5/bin/ruby CPU: deca-core 64-bit arm_firestorm_icestorm Clang: 16.0.0 build 1600 Git: 2.39.5 => /Library/Developer/CommandLineTools/usr/bin/git Curl: 8.6.0 => /usr/bin/curl
- Homebrew Ruby:Homebrew 内置的 Ruby 版本(用于执行 Homebrew 脚本)。
- CPU:处理器信息(10 核 ARM 架构)。
- Clang:C/C++ 编译器版本(Xcode Command Line Tools 提供)。
- Git:版本控制工具(由系统 CLT 提供,非 Homebrew 安装)。
- Curl:HTTP 工具(系统自带)。
- macOS 系统信息
macOS: 14.5-arm64 CLT: 16.2.0.0.1.1733547573 Xcode: N/A Rosetta 2: false
- macOS:操作系统版本(Sonoma 14.5,ARM 架构)。
- CLT:Xcode Command Line Tools 版本(编译工具链)。
- Xcode:未安装完整的 Xcode IDE。
- Rosetta 2:未启用 x86_64 转译(ARM 原生环境)。
配置总结:
- 你的 Homebrew 配置已成功替换为中科大镜像源,包括:
- 核心仓库:使用中科大的 brew.git 镜像。
- Core 仓库:使用中科大的 homebrew-core.git 镜像。
- Cask 仓库:使用中科大的 homebrew-cask.git 镜像。
- Bottles:使用中科大的二进制包镜像加速下载。
- 系统环境已正确配置,可正常使用 Homebrew 安装软件。如需恢复官方源,只需将各仓库的
remote set-url
改回 GitHub 地址即可。
(6)恢复默认源(如需)
如果想恢复默认的官方源,执行以下命令:
# 恢复 brew 本体
git -C "$(brew --repo)" remote set-url origin https://github.com/Homebrew/brew.git
# 恢复 homebrew-core
git -C "$(brew --repo homebrew/core)" remote set-url origin https://github.com/Homebrew/homebrew-core.git
# 恢复 homebrew-cask
git -C "$(brew --repo homebrew/cask)" remote set-url origin https://github.com/Homebrew/homebrew-cask.git
# 移除 Bottles 镜像配置(编辑 ~/.zshrc 或 ~/.bash_profile 删除相关行)
推荐镜像源
- 中科大镜像:速度快,更新及时。
- 清华大学镜像:稳定性高,教育网用户优先选择。
注意事项
- 更换镜像后,首次 brew update 可能需要较长时间下载缓存。
- 如果遇到权限问题,尝试添加 sudo 前缀(如 sudo git -C …)。
- 若安装软件时出现校验失败,可能是镜像同步延迟,可临时切换回官方源或等待同步完成。
6、homebrew 组件功能说明
(1)Homebrew 核心组件(brew 本体)
- 功能:Homebrew 的基础框架,负责管理软件包的安装、更新、卸载等操作。
- 核心工具:包含 brew 命令行工具,如 brew install、brew update、brew upgrade 等。
- 存储位置:代码存放在
/usr/local/Homebrew
(Intel)或/opt/homebrew
(Apple Silicon)目录下。 - 依赖关系:是其他组件运行的基础,必须优先安装。
(2)Homebrew Core
- 功能:官方的开源软件仓库,包含数千个常用命令行工具和库(如 Git、Python、Node.js 等)。
- 存储形式:以配方(Formula)文件形式存在,每个配方描述了软件的安装方式(如编译参数、依赖关系)。
- 存储位置:默认位于
$(brew --repo homebrew/core)
(实际路径为/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core
)。 - 更新机制:执行
brew update
时会同步该仓库的最新配方。
(3)Homebrew Cask
- 功能:专门用于安装 macOS 图形界面应用(如 Chrome、VS Code、Docker 等)和大型软件(如 MATLAB)。
- 特点:
- 无需手动下载 .dmg 或 .pkg 文件,直接通过命令安装。
- 自动处理应用的卸载(删除残留文件)。
- 存储形式:以 Cask 文件形式存在,描述应用的下载地址、安装路径等信息。
- 存储位置:
$(brew --repo homebrew/cask)
。 - 使用命令:
brew install --cask <应用名>
(如brew install --cask google-chrome
)。
(4)Homebrew Bottles
- 功能:预编译的二进制包,避免每次安装软件都从头编译(编译耗时且依赖环境)。
- 优势:
- 速度快:直接下载解压即可,无需编译。
- 兼容性强:由 Homebrew 官方编译,适配 macOS 版本。
- 存储位置:默认存放在官方 S3 存储桶,但可通过镜像源(如中科大、清华)加速下载。
- 使用条件:
- 当存在 Bottles 时,brew install 优先下载 Bottles。
- 若不存在(如软件太新或依赖特殊配置),则从源代码编译。
(5)总结对比
组件 | 作用 | 示例 | 依赖关系 |
---|---|---|---|
核心 | 基础框架,提供 brew 命令 | brew install | 所有组件的基础 |
Core | 开源命令行工具仓库 | git, python, gcc | 依赖核心 |
Cask | 图形界面应用和大型软件 | chrome, vscode | 依赖核心 |
Bottles | 预编译二进制包,加速安装 | 下载 .tar.gz 文件 | 依赖 Core/Cask 的配方 |
(6)实际应用场景
- 日常开发:使用 brew install <工具名> 安装命令行工具(如 brew install git)。
- 安装应用:使用 brew install --cask <应用名> 安装图形界面应用(如 brew install --cask firefox)。
- 加速安装:通过配置 Bottles 镜像源(如清华、中科大)提升下载速度。
二、Xcode Command Line Tools
在安装 Homebrew 时,系统可能会提示需要安装 Xcode Command Line Tools,这是一组关键的开发工具,对 macOS 上的命令行工具和软件编译至关重要。
1、Xcode Command Line Tools 是什么?
它是苹果提供的一套轻量级开发工具包,包含了编译代码、处理系统底层操作的核心组件,无需安装完整的 Xcode(Xcode 是苹果的大型 IDE,主要用于开发 iOS/macOS 应用,体积超过 40GB)。
其核心组件包括:
- 编译器:如 gcc、clang(用于将代码编译为可执行程序)。
- 工具链:如 make、cmake(用于管理代码编译流程)。
- 系统库:与 macOS 系统交互的底层库文件。
- 开发工具:如 git(版本控制)、ruby、python 等基础工具。
2、为什么 Homebrew 需要它?
Homebrew 作为包管理器,安装的很多软件(尤其是从源代码编译的软件)依赖这些工具:
- 编译代码:多数开源软件需要通过编译器(如 clang)将源代码转换为 macOS 可运行的程序。
- 依赖系统组件:部分软件需要调用 macOS 底层接口,而 Command Line Tools 提供了这些接口的开发支持。
- 基础工具支持:例如 git(Homebrew 自身的更新和软件下载依赖 git)、make(编译流程控制)等,都包含在其中。
简单说:没有它,很多软件无法在你的 Mac 上编译或运行,Homebrew 的核心功能也无法正常工作。
3、它和完整 Xcode 的区别?
特性 | Xcode Command Line Tools | 完整 Xcode |
---|---|---|
体积 | 约 1-2GB(轻量) | 约 40GB+(庞大) |
功能 | 仅包含命令行开发工具 | 包含完整 IDE、模拟器、调试工具等 |
用途 | 支持命令行编译、开发工具运行 | 开发 iOS/macOS 应用的专业环境 |
是否必需(对 Homebrew) | 是 | 否 |
4、安装时的常见情况
如果你之前从未安装过,Homebrew 会自动触发安装提示,只需按回车确认即可,系统会从苹果服务器下载并安装。
如果你已安装完整 Xcode,系统会自动使用 Xcode 内置的 Command Line Tools,无需重复安装。
5、总结
Xcode Command Line Tools 是 Mac 上开发和运行命令行工具的 “基础设施”,Homebrew 依赖它来完成软件的编译和安装。它与完整 Xcode 是两回事,无需担心占用过多空间,安装它是使用 Homebrew 的必要步骤。