Homebrew macOS 包管理

1、Homebrew 简介

1.1 Homebrew

  • Homebrew 是一款 macOS 平台下的软件包管理工具,拥有安装、卸载、更新、查看、搜索等很多实用的功能。简单的一条指令,就可以实现包管理,而不用你关心各种依赖和文件路径的情况,十分方便快捷。相当于 Linux 常用的 apt-get,zypper,pacman 等。

2、Homebrew 环境配置

2.1 Homebrew 安装要求

  • 1)Intel CPU

    • 官方说明并非所有的指令具有 CPU 或操作系统要求,假如不符合系统要求,猜测会遇到问题。此外,你可以查看:Interesting Taps & Branches
  • 2)macOS 10.9 or higher

    • 官方推荐系统版本为 10.9 或更高。10.5 - 10.8 官方会尽力支持。对于 10.4 和 10.5,见 Tigerbrew
  • 3)Xcode 命令行工具

    1
    2
    # 安装 Xcode command line tools
    $ xcode-select --install
    • 大多数命令需要一个编译器。少数需要安装一个完整的 Xcode。你可以安装 Xcode,或者 CLT,或两者兼而有之; Homebrew 支持三种配置。在旧版操作系统中下载 Xcode 可能需要苹果开发者账号,你可以在这里免费注册。
  • 4)支持 shell (sh 或者 bash)

    • 单行安装方法可以查看 brew.sh,但是需要兼容 shell(如 bash 或 zsh 中)。需要注意的是 fish、tcsh、csh 会无法使用。

2.2 安装 Homebrew

  • 使用清华镜像安装 Homebrew,或者按照以下步骤使用官方源安装。

  • 在终端中执行以下命令

    1
    $ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
    • 终端提示

      1
      2
      3
      4
      5
      6
      7
      8
      9
      ==> This script will install:
      /usr/local/bin/brew
      /usr/local/share/doc/homebrew
      /usr/local/share/man/man1/brew.1
      /usr/local/share/zsh/site-functions/_brew
      /usr/local/etc/bash_completion.d/brew
      /usr/local/Homebrew

      Press RETURN to continue or any other key to abort
    • 按 RETURN 键后输入系统密码继续安装,稍等片刻后即可安装完成。

  • 紧接着,我们需要做一件事让通过 Hombrew 安装的程序的启动链接 (在 /usr/local/bin 中)可以直接运行,无需将完整路径写出。

    1
    $ echo 'export PATH="/usr/local/bin:$PATH"' >> ~/.bash_profile
  • Cmd+T 打开一个新的 terminal 标签页,运行以下命令,确保 brew 运行正常。

    1
    $ brew doctor
  • 安装完成后,Homwbrew 会将本地 /usr/local 初始化为 git 的工作树,并将目录所有者变更为当前所操作的用户,将来 brew 的相关操作不需要 sudo。

2.3 安装 Homebrew Cask(可选安装)

  • 通过 Homebrew Cask 可以优雅、简单、快速的安装和管理 macOS 图形界面程序,比如 Google Chrome 和 Dropbox。

  • 安装 Homebrew Cask 运行以下命令即可完成。

    1
    2
    3
    4
    5
    6
    7
    8
    # 添加 Github 上的 caskroom/cask 库
    $ brew tap caskroom/cask

    # 安装 brew-cask
    $ brew install brew-cask-completion

    # 更新
    $ brew update && brew upgrade brew-cask-completion && brew cleanup
  • 如果你想查看 cask 上是否存在你需要的 app,可以到 caskroom.io 进行搜索。

2.4 卸载 Homebrew 方法

  • 在终端中执行以下命令

    1
    2
    3
    4
    5
    6
    7
    $ cd `brew --prefix`
    $ rm -rf Cellar
    $ brew prune
    $ rm `git ls-files`
    $ rm -r Library/Homebrew Library/Aliases Library/Formula Library/Contributions
    $ rm -rf .git
    $ rm -rf ~/Library/Caches/Homebrew

2.5 Homebrew 常用命令

  • 1)Homebrew 常用命令

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    # 查看 Homebrew 版本
    $ brew -v

    # 查看帮助信息
    $ brew -h

    # 更新 Homebrew 在服务器端上的包目录
    $ brew update

    # 安装任意包
    # brew install [包名]
    $ brew install wget

    # 卸载任意包
    # brew uninstall [包名]
    $ brew uninstall wget

    # 查询可用包
    # brew search [包名]
    $ brew search wget

    # 查看已安装包列表
    $ brew list

    # 查看已安装包列表,包括版本号
    $ brew list --versions

    # 查看任意包信息
    # brew info [包名]
    $ brew info wget

    # 查看已安装的包是否需要更新
    $ brew outdated

    # 更新已安装的包,Homebrew 将会把老版本的包缓存下来,以便当你想回滚至旧版本时使用
    # brew upgrade [包名]
    $ brew upgrade wget

    # 清理旧版本的包缓存
    $ brew cleanup
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    Example usage:
    brew search [TEXT|/REGEX/]
    brew (info|home|options) [FORMULA...]
    brew install FORMULA...
    brew update
    brew upgrade [FORMULA...]
    brew uninstall FORMULA...
    brew list [FORMULA...]

    Troubleshooting:
    brew config
    brew doctor
    brew install -vd FORMULA

    Developers:
    brew create [URL [--no-fetch]]
    brew edit [FORMULA...]
    https://docs.brew.sh/Formula-Cookbook

    Further help:
    man brew
    brew help [COMMAND]
    brew home
  • 2)Homebrew Cask 常用命令

    • 1> 安装文件预览插件

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      # 语法高亮
      $ brew cask install qlcolorcode

      #
      $ brew cask install qlstephen

      # markdown 渲染
      $ brew cask install qlmarkdown

      # json 预览
      $ brew cask install quicklook-json

      #
      $ brew cask install qlprettypatch

      #
      $ brew cask install quicklook-csv

      #
      $ brew cask install betterzipql

      #
      $ brew cask install webp-quicklook

      #
      $ brew cask install suspicious-package
    • 2> 安装 macOS 图形界面程序

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      #
      $ brew cask install alfred

      #
      $ brew cask install appcleaner

      #
      $ brew cask install cheatsheet

      #
      $ brew cask install dropbox

      #
      $ brew cask install google-chrome

      #
      $ brew cask install onepassword

      #
      $ brew cask install sublime-text

      #
      $ brew cask install totalfinder

2.6 注意事项

  • 在 macOS 10.11 系统以后,/usr/local/ 等系统目录下的文件读写是需要系统 root 权限的,以往的 Homebrew 安装如果没有指定安装路径,会默认安装在这些需要系统 root 用户读写权限的目录下,导致有些指令需要添加 sudo 前缀来执行,比如升级 Homebrew 需要执行以下命令。

    1
    $ sudo brew update
  • 如果不想每次都使用 sudo 指令,有两种方法可以选择。

  • 1) 对 /usr/local 目录下的文件读写进行 root 用户授权。

    1
    2
    # sudo chown -R [系统用户名] /usr/local
    $ sudo chown -R QianChia /usr/local
    • 但是这种方法对于高版本的系统来说,是解决不了的,会报以下错误。

      1
      chown: /usr/local: Operation not permitted
    • 想要解决这个问题只需要先卸载已安装的 homebrew,命令如下

      1
      /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"
    • 然后重新安装即可

      1
      /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
  • 2) (推荐)安装 Homebrew 时对安装路径进行指定,直接安装在不需要系统 root 用户授权就可以自由读写的目录下。

    1
    [install path]/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

3、常见问题

3.1 brew 命令失效

  • 问题描述

    • Mac 升级为 Big Sur 系统后,所有 Homebrew 的命令都无法执行,运行 brew list 会报错误。
  • 解决办法

    • 造成这个 Homebrew 失效的原因可能是 Mac 在升级成 Big Sur 系统后,旧版本的 Homebrew 不适配了,不过最新版的 Homebrew 已经解决了这个错误,所以我们只需要更新到新版本的 Homebrew 即可。

      1
      $ brew update-reset

3.2 first run 错误

  • 问题描述

    • 升级了系统,将 brew 也进行下更新,然后就有了下面的错误提示。

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      $ brew update
      Error:
      homebrew-core is a shallow clone.
      To `brew update`, first run:
      git -C /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core fetch --unshallow
      This command may take a few minutes to run due to the large size of the repository.
      This restriction has been made on GitHub's request because updating shallow
      clones is an extremely expensive operation due to the tree layout and traffic of
      Homebrew/homebrew-core and Homebrew/homebrew-cask. We don't do this for you
      automatically to avoid repeatedly performing an expensive unshallow operation in
      CI systems (which should instead be fixed to not use shallow clones). Sorry for
  • 解决办法

    • 其实解决方法也很简单,就是把 homebrew-core 给删除了就好了。

      1
      rm -rf /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core;
文章目录
  1. 1. 1、Homebrew 简介
    1. 1.1. 1.1 Homebrew
  2. 2. 2、Homebrew 环境配置
    1. 2.1. 2.1 Homebrew 安装要求
    2. 2.2. 2.2 安装 Homebrew
    3. 2.3. 2.3 安装 Homebrew Cask(可选安装)
    4. 2.4. 2.4 卸载 Homebrew 方法
    5. 2.5. 2.5 Homebrew 常用命令
    6. 2.6. 2.6 注意事项
  3. 3. 3、常见问题
    1. 3.1. 3.1 brew 命令失效
    2. 3.2. 3.2 first run 错误
隐藏目录