Index / Software

MacOS 或 Linux 软件包管理器 Homebrew

原文:https://ichochy.com/posts/software/20200902.html

Homebrew 可以方便、快捷的安装第三方软件包,不再需要手动编译安装,通过brew install命令就可以完成软件的安装,包括相关的依赖包。甚至使用brew cask安装macOS应用程序、字体和插件以及其他非开源软件。

安装 Homebrew

终端运行脚体就可以一步安装,非常简单。

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

同时支持MacOSLinuxWindows的子系统WSL,并不需要管理员(sudo)权限。

使用 Homebrew

常用命令 brew

搜索可用的软件包

brew search [TEXT|/REGEX/]

查看软件包的信息

brew info [FORMULA...]

安装软件包

brew install FORMULA...

Homebrew会将软件包安装到独立目录/usr/local/Cellar,并将其文件软链接至/usr/local

更新brew索引信息

brew update

更新软件包

brew upgrade [FORMULA...]

卸载软件包

brew uninstall FORMULA...

查询本机安装的软件包

brew list [FORMULA...]

常用命令 brew cask

查看程序信息

brew cask info

安装程序

brew cask install

查看程序列表

brew cask list

卸载程序

brew cask uninstall

更新程序

brew cask upgrade

常用命令 brew services

查看当前服务列表

[sudo] brew services [list]:

运行服务

[sudo] brew services run (formula|--all):

启动服务,并注册自启动加载

[sudo] brew services start (formula|--all):

停用服务,并取消自启动加载

[sudo] brew services stop (formula|--all):

重启服务

[sudo] brew services restart (formula|--all):

清理无用服务

[sudo] brew services cleanup:

替换国内源

因为国外网络访问的问题,brew update会出现一直等待中或中断的问题,可以考虑替换国内源,来加快访问速度。下面介绍替换国内源,如:清华大学镜像源、中国科学技术大学镜像源、阿里云镜像源

清华大学镜像源

https://mirrors.tuna.tsinghua.edu.cn/help/homebrew/

brew 替换

git -C "$(brew --repo)" remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/brew.git

Homebrew 替换

# 以下针对 mac OS 系统上的 Homebrew
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
git -C "$(brew --repo homebrew/cask-fonts)" remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-cask-fonts.git
git -C "$(brew --repo homebrew/cask-drivers)" remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-cask-drivers.git
# 以下针对 Linux 系统上的 Linuxbrew
git -C "$(brew --repo homebrew/core)" remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/linuxbrew-core.git

Homebrew-bottles 替换

临时替换

export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles

长期替换
如果你使用 bash:

echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles' >> ~/.bash_profile
source ~/.bash_profile

如果你使用 zsh:

echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles' >> ~/.zshrc
source ~/.zshrc

Linuxbrew-bottles 替换

临时替换

export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.tuna.tsinghua.edu.cn/linuxbrew-bottles

长期替换

echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.tuna.tsinghua.edu.cn/linuxbrew-bottles' >> ~/.bash_profile
source ~/.bash_profile

中国科学技术大学镜像源

https://mirrors.ustc.edu.cn/help/brew.git.html

Bash 终端配置

# 替换brew.git:
cd "$(brew --repo)"
git remote set-url origin https://mirrors.ustc.edu.cn/brew.git
# 替换homebrew-core.git:
cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core"
git remote set-url origin https://mirrors.ustc.edu.cn/homebrew-core.git
# 替换homebrew-cask.git:
cd "$(brew --repo)"/Library/Taps/homebrew/homebrew-cask
git remote set-url origin https://mirrors.ustc.edu.cn/homebrew-cask.git
# 应用生效
brew update
# 替换homebrew-bottles:
echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.ustc.edu.cn/homebrew-bottles' >> ~/.bash_profile
source ~/.bash_profile

Zsh 终端配置

# 替换brew.git:
cd "$(brew --repo)"
git remote set-url origin https://mirrors.ustc.edu.cn/brew.git
# 替换homebrew-core.git:
cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core"
git remote set-url origin https://mirrors.ustc.edu.cn/homebrew-core.git
# 替换homebrew-cask.git:
cd "$(brew --repo)"/Library/Taps/homebrew/homebrew-cask
git remote set-url origin https://mirrors.ustc.edu.cn/homebrew-cask.git
# 应用生效
brew update
# 替换homebrew-bottles:
echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.ustc.edu.cn/homebrew-bottles' >> ~/.zshrc
source ~/.zshrc

阿里云镜像源

https://developer.aliyun.com/mirror/homebrew

Bash 终端配置

# 替换brew.git:
cd "$(brew --repo)"
git remote set-url origin https://mirrors.aliyun.com/homebrew/brew.git
# 替换homebrew-core.git:
cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core"
git remote set-url origin https://mirrors.aliyun.com/homebrew/homebrew-core.git
# 应用生效
brew update
# 替换homebrew-bottles:
echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.aliyun.com/homebrew/homebrew-bottles' >> ~/.bash_profile
source ~/.bash_profile

Zsh 终端配置

# 替换brew.git:
cd "$(brew --repo)"
git remote set-url origin https://mirrors.aliyun.com/homebrew/brew.git
# 替换homebrew-core.git:
cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core"
git remote set-url origin https://mirrors.aliyun.com/homebrew/homebrew-core.git
# 应用生效
brew update
# 替换homebrew-bottles:
echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.aliyun.com/homebrew/homebrew-bottles' >> ~/.zshrc
source ~/.zshrc

恢复镜像源

brew 恢复

git -C "$(brew --repo)" remote set-url origin https://github.com/Homebrew/brew.git

Homebrew 恢复

# 以下针对 mac OS 系统上的 Homebrew
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
git -C "$(brew --repo homebrew/cask-fonts)" remote set-url origin https://github.com/Homebrew/homebrew-cask-fonts.git
git -C "$(brew --repo homebrew/cask-drivers)" remote set-url origin https://github.com/Homebrew/homebrew-cask-drivers.git
# 以下针对 Linux 系统上的 Linuxbrew
git -C "$(brew --repo homebrew/core)" remote set-url origin https://github.com/Homebrew/linuxbrew-core.git

Homebrew-bottles 恢复

删除~/.bash_profile~/.zshrc中的HOMEBREW_BOTTLE_DOMAIN环境变量,并执行source,重新加载环境变量。

source ~/.bash_profile
source ~/.zshrc