发布于 

Mac OS 手动安装 Homebrew

Homebrew (package manager)

在国内使用 Homebrew 官网的安装命令常常会连接不上或者速度太慢安装失败:

curl: (7) Failed to connect to raw.githubusercontent.com port 443: Connection refused

通过国内镜像站手动安装

Homebrew :https://github.com/Homebrew

Git :https://git-scm.com

国内镜像站:

软件包:

  • brew 预编译二进制软件包
  • brew-core 核心软件仓库
  • brew-cask 提供 macOS 应用和大型二进制文件

删除历史版本

  • sudo rm -rf /usr/local/Homebrew/ 删除主体
  • sudo rm -rf /usr/local/var/homebrew/ 删除数据
  • sudo rm -f /usr/local/bin/brew 删除链接

克隆到本地

示例使用的是中科大的源,可根据实际情况更换其他源

创建 Homebrew 目录,从仓库克隆到本地,链接 brew 到 /usr/local/bin/

1
2
3
sudo mkdir /usr/local/Homebrew
sudo git clone https://mirrors.ustc.edu.cn/brew.git /usr/local/Homebrew
sudo ln -s /usr/local/Homebrew/bin/brew /usr/local/bin/brew

创建 homebrew-core 目录,克隆

1
2
sudo mkdir -p /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core
sudo git clone https://mirrors.ustc.edu.cn/homebrew-core.git /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core

创建 homebrew-cask 目录,克隆

1
2
sudo mkdir -p /usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask
sudo git clone https://mirrors.ustc.edu.cn/homebrew-cask.git /usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask

赋予权限,设置环境变量

1
2
3
sudo mkdir -p /usr/local/var/homebrew
sudo chown -R $(whoami) /usr/local/var/homebrew
sudo chown -R $(whoami) /usr/local/Homebrew

bash:

1
2
echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.ustc.edu.cn/homebrew-bottles' >> ~/.bash_profile
source ~/.bash_profile

zsh:

1
2
echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.ustc.edu.cn/homebrew-bottles' >> ~/.zshrc
source ~/.zshrc

更换国内源,运行更新

1
2
3
4
5
6
7
cd "$(brew --repo)"
git remote set-url origin https://mirrors.ustc.edu.cn/brew.git
cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core"
git remote set-url origin https://mirrors.ustc.edu.cn/homebrew-core.git
cd "$(brew --repo)"/Library/Taps/homebrew/homebrew-cask
git remote set-url origin https://mirrors.ustc.edu.cn/homebrew-cask.git
brew update # 耐心等待

显示 Already up-to-date 表示成功

一些小问题:

执行 brew -v,提示:

1
2
3
$ brew -v
Homebrew >=2.2.0 (shallow or no git repository)
Homebrew/homebrew-core (no git repository)

解决办法:

1
2
3
4
cd "$(brew --repo)"
git init
cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core"
git init

执行brew update ,提示:

1
2
3
4
Error: Could not 'git stash' in /usr/local/Homebrew!
Please stash/commit manually if you need to keep your changes or, if not, run:
cd /usr/local/Homebrew
git reset --hard origin/master

依次执行 run:后的两条命令即可

brew doctor 诊断 Homebrew 的问题


brew 所安装程序的位置:

  1. 配置文件在 /usr/local/etc

  2. 安装文件在 /usr/local/Cellar

  3. 二进制可执行程序的软连接在 /usr/local/bin

Homebrew Cask 是 Homebrew 的扩展,借助它可以方便地用命令行管理 macOS 应用,它是将应用直接移动到 Application 文件夹,这与去官网下载安装包安装是一致的

常用命令

  • 更新
1
2
3
4
brew update              # 更新
brew outdated # 查看哪些安装包需要更新
brew upgrade # 更新所有的包
brew upgrade [包名] # 更新指定的包
  • 查看
1
2
3
4
brew list               # 列出已安装包
brew info [包名] # 显示某个包的信息
brew info # 显示安装了包数,文件数,总占用空间
brew deps --installed --tree # 树形查看已安装的包的依赖
  • 清理
1
2
3
brew cleanup             # 清理所有包的旧版本
brew cleanup [包名] # 清理指定包的旧版本
brew cleanup -n # 查看可清理的旧版本包,不执行实际操作
  • 删除
1
2
brew rm [包名]                # 删除某个包
brew uninstall --force [包名] # 删除所有版本
  • 锁定
1
2
brew pin [包名]      # 锁定某个包
brew unpin [包名] # 取消锁定