已复制
全屏展示
复制代码

Homebrew程序员神器指南


· 3 min read

一. 核心概念

Homebrew官网地址 https://brew.sh/

  • formula     安装包的描述文件,formulae 为复数。
  • cellar        安装好后所在的目录。
  • keg           具体某个包所在的目录,keg 是 cellar 的子目录。
  • bottle       预先编译好的包,官方库中的包大多都是通过 bottle 方式安装。
  • tap           下载源,好比 Linux 下的包管理器 repository。
  • cask         安装有图形化界面的应用。

二. Homebrew安装

新电脑需要手动安装一下,一行命令搞定。

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

# 更新 brew 到最新版本。
# 然后拉取仓库中的软件元数据信息,包括一些可用的版本版本,但是不会更新。
brew update

# 查看的 brew 本身的安装目录
brew --repo

三. brew软件管理

brew formulae          # 列出所有可用的软件
brew install wget      # 安装软件
brew search wget       # 搜索软件

brew list              # 查看已安装的所有软件
brew list --formulae   # 查看已安装的无图行的软件
brew list --cask       # 查看已安装的有图形的软件
brew list redis        # 列举某个 Formulate 或 Cask 的详细路径

brew --cache           # 下载缓存路径
brew --prefix          # 安装目录,通常是该路径的 Cellar 目录下

brew info              # 查看安装的软件数量,文件数量,以及占用空间
brew info socat        # 查看软件的信息
brew deps mysql --tree # 查看某个软件的安装依赖

brew outdated          # 查看有更新的软件列表
brew upgrade           # 更新所有软件
brew upgrade wget      # 更新指定软件


# 每次安装软件默认会更新所有软件的
# 配置取消每次安装时都自动更新 ~/.bash_profile
export HOMEBREW_NO_AUTO_UPDATE=true


brew uninstall wget         # 卸载软件
brew uninstall --force wget # 强制卸载

brew cleanup -n             # 查看可以清理所有软件历史版本
brew cleanup                # 清理所有软件历史版本
brew cleanup wget           # 清理指定软件历史版本

四. brew服务管理

brew services                # 查看所有服务
brew services list           # 查看所有服务

brew services run nginx      # 单次运行某个服务,重启系统时不会开机自启
brew services start nginx    # 运行某个服务,并设置开机自动运行
brew services stop nginx     # 停止某个服务
brew services restart nginx  # 重启某个服务


# 查看正在运行的守护进程
launchctl list | grep redis

# 停止服务,并关闭开机自启
sudo launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.redis.plist

# 启动服务,并开启开机自启
sudo lauchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.redis.plist

五. brew仓源管理

brew tap               # 查看所有已经安装的 taps 源
brew tap [user/repo]   # 添加新的tap源到/usr/local/Homebrew/Library/Taps
brew untap [user/repo] # 删除 tap 源


# 设置国内源
git -C "(brew --repo)" remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/brew.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/cask)" remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-cask.git
brew update


# 还原默认源
git -C "(brew --repo)" remote set-url origin https://Github.com/Homebrew/brew.git
git -C "(brew --repo homebrew/core)" remote set-url origin https://github.com/Homebrew/homebrew-core.git
git -C "$(brew --repo homebrew/cask)" remote set-url origin https://github.com/Homebrew/homebrew-cask.git
brew update

六. 图形界面工具

# cakebrew 用于软件管理,安装后在启动台打开
brew install --cask cakebrew

七. brew问题排查

# 使用自带命令检查环境状况
brew doctor

文章推荐