2、Homebrew

Homebrew

Homebrew官网有一句话:Homebrew complements macOS。( Homebrew 使 macOS 更完整。)Homebrew 是 macOS 的套件管理工具,是高效下载软件的一种方法,相当于 Linux 下的 yumapt-get 神器,用于下载存在依赖关系的软件包。通俗地说,Homebrew 是类似于 Mac App Store 的一个软件商店。

通过 Homebrew 下载的软件都来自于官网,绝对放心软件的安全性。而且它尽可能地利用系统自带的各种库,使得软件包的编译时间大大缩短,基本上不会造成冗余。

安装

前提条件:需要装有xcode以及git,可以使用xcode-select -vgit -v来查看是否安装。

如果没有安装的话,可以使用如下命令,安装xcode commandline tools,这个工具集已经包含了git

xcode-select --install

官网安装

按照提示执行就可以,但是国内网络环境一般无法安装,推荐使用国内源安装

image-20231103223114121

国内源安装

https://gitee.com/cunkai/HomebrewCN

image-20231103223404704

配置

对于arm芯片的Mac来说,Homebrew默认安装在/opt/homebrew中,可以使用brew -repo查看

# brew env
export PATH=/opt/homebrew/bin:$PATH

切换下载源

有的时候brew update 会卡住的情况,在国内的话可以切换为清华或中科大的镜像。

中科大

# 替换 Homebrew 源
cd "$(brew --repo)"
git remote set-url origin https://mirrors.ustc.edu.cn/brew.git
# 切换 Homebrew Core 源
cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core"
git remote set-url origin https://mirrors.ustc.edu.cn/homebrew-core.git
# 切换 Homebrew Cask 源
cd "$(brew --repo)/Library/Taps/homebrew/homebrew-cask"
git remote set-url origin https://mirrors.ustc.edu.cn/homebrew-cask.git

清华

# 替换 Homebrew 源
cd "$(brew --repo)"
git remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/brew.git
# 切换 Homebrew Core 源
cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core"
git remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-core.git
# 切换 Homebrew Cask 源
cd "$(brew --repo)/Library/Taps/homebrew/homebrew-cask"
git remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-cask.git

常用命令

# 查看brew版本
brew -v
# 查看brew状态
brew doctor
# 更新Homebrew
brew update


# 模糊搜索应用
brew search <key>
# 安装应用,--cask安装cli应用
brew install <package>
# 卸载应用,--force强制卸载
brew uninstall <package>
# 查看已安装应用,--versions带版本
brew list
# 所有已安装的 Formulae
brew list --formulae
# 所有已安装的 Casks
brew list --cask
# 重装应用
brew reinstall <package>
# 显示安装的软件数量、文件数量以及占用空间
brew info
# 查看指定应用信息
brew info <package>
# 查看已安装应用的依赖树
brew deps --installed --tree


# 查看已有仓库
brew tap
# 添加仓库
brew tap <user/repo>
# 移除仓库,需要先将使用该仓库安装的软件卸载掉
brew untap <user/repo>

# 列出所有可更新的应用
brew outdated
# 锁定不想更新的应用
brew pin <package>
# 取消锁定指定包
brew unpin <package>
# 更新所有应用
brew upgrade
# 更新指定应用
brew upgrade <package>


# 查看可清理的旧版本包
brew cleanup -n
# 清理所有旧版本应用包
brew cleanup
# 清理指定应用旧版本包
brew cleanup <package>

安装历史版本的应用

例如安装go的历史版本,可以先使用brew info go,查看应用的信息

yanggang@MacBook homebrew % brew info go
==> go: stable 1.21.3 (bottled), HEAD
Open source programming language to build simple/reliable/efficient software
https://go.dev/
Not installed
From: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/g/go.rb
License: BSD-3-Clause
==> Options
--HEAD
	Install HEAD version
==> Analytics
install: 103,752 (30 days), 280,885 (90 days), 623,922 (365 days)
install-on-request: 78,358 (30 days), 208,193 (90 days), 463,520 (365 days)
build-error: 229 (30 days)

访问第六行ruby脚本地址https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/g/go.rb,点击右上角的History查看历史提交记录

截屏2023-11-03 23.29.19

选择自己需要的版本,将ruby脚本下载下来go.rb

截屏2023-11-03 23.32.33

然后在下载目录执行命令:brew install ./go.rb

Formulae和Casks

Homebrew 的安装命令有两个:

brew install <package>
brew install --cask <package>

官方描述:Homebrew Cask扩展了 Homebrew,并为 Atom 和 Google Chrome 等 GUI macOS 应用程序的安装和管理带来了优雅、简单和快速。 为此,我们提供了友好的 CLI 工作流来管理作为二进制文件分发的 macOS 应用程序。

软件包下载完成后,若是 CLI 命令,intel的CPU会自动软链接至 /usr/local/bin 目录。如果是基于ARM的macOS则会软链接至 /opt/homebrew/bin 目录。

rmtree

brew uninstall xxx卸载软件只会卸载软件本身而不会同时卸载其依赖包,使用工具rmtree可以完全卸载包以及依赖

安装

brew tap beeftornado/rmtree

brew install brew-rmtree

使用

brew rmtree <package>