Homebrew 简介

Homebrew 是 macOS(和 Linux)上的一个开源软件包管理器,它简化了在命令行下安装、更新和卸载软件的过程。Homebrew 使得用户能够轻松访问并管理数千个开源软件包。

涉及到的主要名词

  • Formula: Homebrew 的核心概念之一,指的是每个软件包的描述文件。这些文件包含了如何下载、编译以及安装该软件的信息。
  • Bottle: 预编译好的二进制文件,允许用户跳过编译步骤直接安装软件。
  • Cask: 扩展了 Homebrew 的功能,允许通过 Homebrew 安装图形界面应用程序(GUI Apps),如 Google Chrome 或 Visual Studio Code。
  • Tap: 第三方仓库,允许用户添加额外的软件源来扩展 Homebrew 可用的软件包集合。
  • Cellar : Homebrew 默认将所有安装的软件存储在此目录下,路径通常为 /usr/local/Cellar(对于 Intel Mac)或 /opt/homebrew/Cellar(对于 Apple Silicon Mac)。

Homebrew 使用方法

安装 Homebrew

首先确保你已经安装了 Xcode Command Line Tools:

lua 复制代码
bash
深色版本
xcode-select --install

然后,在终端中运行以下命令来安装 Homebrew:

bash 复制代码
bash
深色版本
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

根据提示完成安装过程。

基本命令

  • 搜索软件包brew search <package_name>

  • 查看软件包信息brew info <package_name>

  • 安装软件包

    • 命令行工具:brew install <package_name>
    • GUI 应用程序:brew install --cask <app_name>
  • 列出已安装的软件包brew list

  • 更新软件包

    • 更新 brew 自身:brew update
    • 升级所有已安装的软件包:brew upgrade
    • 升级单个软件包:brew upgrade <package_name>
  • 卸载软件包

    • 命令行工具:brew uninstall <package_name>
    • GUI 应用程序:brew uninstall --cask <app_name>
  • 清理旧版本brew cleanup


安装与卸载 App 示例

安装 VSCode

css 复制代码
bash
深色版本
brew install --cask visual-studio-code

卸载 VSCode

css 复制代码
bash
深色版本
brew uninstall --cask visual-studio-code

安装 wget

复制代码
bash
深色版本
brew install wget

卸载 wget

复制代码
bash
深色版本
brew uninstall wget

常见问题及解决方案

  1. 权限问题

    • 如果遇到权限相关的错误,请尝试使用 sudo 来执行命令,不过大多数情况下 Homebrew 不需要这样做,因为它的默认安装位置对当前用户是可写的。
  2. Cask 已被禁用

    • 如之前提到的例子,如果某个 Cask 被标记为 "discontinued upstream",这意味着该应用已经被其开发者停止维护,你需要寻找替代品或手动安装。
  3. 无法连接到 GitHub

    • Homebrew 默认从 GitHub 下载软件包。如果你所在的网络环境对 GitHub 访问不稳定,可以考虑更换镜像源,比如中科大的镜像源:

      arduino 复制代码
      bash
      深色版本
      git -C "$(brew --repo)" remote set-url origin https://mirrors.ustc.edu.cn/brew.git
  4. 软件包冲突

    • 当两个软件包依赖于不同版本的同一个库时可能会发生冲突。解决办法通常是调整依赖关系或者寻找兼容版本。
  5. 系统不兼容

    • 对于一些较新的或较老的 macOS 版本,某些软件包可能不再支持。检查软件包的兼容性要求,并确保你的系统满足这些条件。
相关推荐
weixin_531670891 天前
Interlude起来:久坐提醒软件为什么需要登录?有没有完全本地运行的Mac休息提醒软件?
人工智能·macos·swift
weixin_531670892 天前
Interlude起来:Swift原生Mac软件有什么优势?原生Mac应用和Electron应用有什么区别?
人工智能·macos·mac·swift
k4m7v2pz2 天前
Swift Package Manager 在 macOS 26 上的三个编译错误排查指南
macos·spm·ai编程·xcode·swift·命令行工具
zhonyu鱼2 天前
Pot 翻译:开源免费的跨平台划词翻译与 OCR 工具
windows·macos·开源·ocr·开源软件
杜子麟2 天前
Android studio模拟器离线安装
android·macos·android studio
守城小轩3 天前
Chromium 148 编译指南 macOS篇:环境配置要求(一)
macos
Codeking__3 天前
iOS 动画:core Animation 底层原理
macos·objective-c·cocoa
SatanII3 天前
读懂 SELinux:强制访问控制 MAC,解决 httpd 服务权限报错实战
linux·运维·服务器·网络·macos
mCell4 天前
谁在为 AI 开车:Agent 浏览器生态调研(2026)
chrome·macos·agent
sudebao点com5 天前
一次“Google 能打开,FlexTV 打不开”的 DNS 故障排查:从 curl 超时到完整证据链
windows·macos·https·cdn·dns·nslookup·网络排错