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 版本,某些软件包可能不再支持。检查软件包的兼容性要求,并确保你的系统满足这些条件。
相关推荐
yqj2344 小时前
ESP32-S3中小智项目优化内容
ide·macos·xcode
Mininglamp_27181 天前
Cider量化配置与性能调优:在M系列Mac上压榨Mano-P的每一点推理性能
macos
xuefuhe1 天前
MacOS EAGAIN无法打开terminal
macos
传奇开心果编程2 天前
【SwiftUI入门练中学】第7课 动画与手势:让界面更灵动
学习·macos·ui·ios·swiftui·swift
the3clipse2 天前
MacOS、Linux 与 Windows 视频编解码对比:AV1、HEVC、ProRes 与硬件加速优劣势
linux·windows·macos·hevc·av1·视频解码·硬件解码
传奇开心果编程2 天前
【SwiftUI娓娓道来】第3课:让界面活起来——交互与动画指南
学习·macos·ui·ios·swiftui·swift
朋友圈自动点赞工具3 天前
Gmail 委托邮箱在手机上关不掉
macos·智能手机·cocoa·硬件评测
小黄人软件3 天前
AndroidStudio老项目 macOS运行BlueTooth蓝牙串口助手(Android+Studio源码).rar
android·macos
她说..3 天前
IntelliJ IDEA 快捷键速查表(Mac 版)
java·macos·intellij-idea
for_ever_love__3 天前
iOS: CABasicAnimation动画
macos·ios·cocoa