「Homebrew」- 适用于 macOS 的包管理器

  CREATED BY JENKINSBOT

问题描述

用于 macOS 或 Linux 的包管理器,而我们更多用于 macOS 系统的应用包管理。

也可以在 LFS 中使用 Homebrew 工具。LFS 是个 Linux 项目,教我们如何使用源码包一步步编译出可运行的 Linux 系统。但是,在 LFS 中没有可用的包管理器,所有的应用只能编译安装。编译安装是件非常痛苦的是事情,而有了 Homebrew,可以简化 LFS 的包管理工作。当然,LFS 不是这篇笔记要介绍的内容,我们的重点还是放在 Homebrew 的使用,我们只是突然想到可以在 LFS 中使用 Homebrew 工具。

该部分笔记将整理:与 Homebrew 有关的内容,以及常见问题处理。

解决方案

第一步、安装 brew 命令

安装方法建议参考官方主页(brew.sh),我们不能保证与官方站点同步:

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

国内访问 raw.githubusercontent.com 经常失败,参考 CunKai/HomebrewCN 项目。如果有条件,还是使用网络加速服务比较好。

第二步、安装软件服务

与其他包管理器的使用方法类似(首先 search 应用,然后 install 应用):

# 搜索 MySQL 服务
brew search mysql

# 安装 MySQL 服务
brew install mysql

# 安装特定版本的 MySQL 服务
brew install mysql@5.7

在安装应用时,由于网络原因,可能考虑需要使用网络加速服务。如下是 SOCKS5 示例:

# 使用 socks5 代理
ALL_PROXY="socks5://127.0.0.1:1080" brew install "<pkg-name>"

第三步、启动服务(并设置开机启动)

在 Homebrew 中,内置服务管理工具(这使我们无需了解 launchctl 的使用方法):

# 服务管理工具
brew tap homebrew/services

# 启动服务
brew services start mysql@5.7

# 查看服务
brew services list

# 重启服务
brew services restart mysql@5.7

设置服务开机启动:
1)以命令 brew services start mysql@5.7 启动,则在每次用户登录时,服务将自动启动;
2)以命令 sudo brew services start mysql@5.7 启动,则在每次开机时,服务将自动启动;

附加说明

macos – How to determine which brew package provides a given file? – Super User
# 01/12/2020 目前,在 Homebrew 中,没有类似于 apt-file search 或者 yum provides 的功能,即搜索某个文件属于哪个应用包。

参考文献

The Missing Package Manager for macOS (or Linux) — Homebrew
Homebrew with Shadowsocks SOCKS5 proxy
How to install an homebrew package behind a proxy?
Starting and Stopping Background Services with Homebrew
MacOSX: autostart mysql on boot
installation – Homebrew install specific version of formula? – Stack Overflow