Homebrew是什么?
Homebrew是一款Mac OS平台下的软件包管理工具,拥有安装、卸载、更新、查看、搜索等很多实用的功能。简单的一条指令,就可以实现包管理,而不用你关心各种依赖和文件路径的情况,十分方便快捷。
安装
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
PS:据说下载的命令是会更新的,最好还是及时去官网找最新的下载命令。
卸载
官方
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"
非官方
cd `brew –prefix`
brew prune
rm `git ls-files`
rm -r /usr/local/Homebrew
rm -rf .git
rm -rf ~/Library/Caches/Homebrew
rm -rf /usr/local/opt
rm -rf /usr/local/Caskroom
rm -rf /usr/local/var/homebrew
PS:如果提示没有权限,需要在rm命令前加上sudo
Homebrew简单使用
# 查看Homebrew命令:
brew help
# 安装任意包:
brew install ,eg:brew install node
# 卸载任意包:
brew uninstall ,eg:brew uninstall git
# 查询可用包:
brew search
# 查询已安装包列表:
brew list
# 查看任意包信息:
# brew home指令是用浏览器打开官方网页查看软件信息
brew info/home
# 更新Homebrew:
brew update
# 更新具体软件:
brew upgrade ,例:brew upgrade git
# 查看哪些已安装的程序需要更新:
brew outdated
# Homebrew帮助信息:
brew -h
# 查看brew版本:
brew -v
更换国内源
因为网络的原因,访问原始的源比较慢,影响效率,故建议更换国内源
进入本地Homebrew目录:
cd "$(brew --repo)"
进入后,查看homebrew本身的源设置:
git remote get-url origin
原始的源为:https://github.com/Homebrew/brew
homebrew有三个源:
homebrew源:本身自带的一些软件源
formula源:额外的一些软件的软件名源
bottles源:额外的一些软件的二进制源
homebrew本身源配置
git -C "$(brew --repo)" remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/brew.git
再次查看变化,确保更改是否生效
homebrew formula源配置
formula源是用来存放软件名称和二进制文件或者软件源码实际存放url的仓库。
如果找不见某个软件了,那需要引入对应的软件的tap或者更新formula源。
git -C "$(brew --repo homebrew/core)" remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-core.git
homebrew bottles源
homebrew安装的软件都在/usr/local/Cellar/目录中。
bottles是用来存放源码的,而formula是存放软件名字的。
使用中科大的bottles源:
echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.ustc.edu.cn/homebrew-bottles' >> ~/.bash_profile
更换上游后需重新设置 git 仓库 HEAD:
brew update-reset
恢复原始源
# brew 程序本身
git -C "$(brew --repo)" remote set-url origin https://github.com/Homebrew/brew.git
# 以下针对 macOS 系统上的 Homebrew
BREW_TAPS="$(brew tap)"
for tap in core cask{,-fonts,-drivers,-versions}; do
if echo "$BREW_TAPS" | grep -qE "^homebrew/${tap}\$"; then
git -C "$(brew --repo homebrew/${tap})" remote set-url origin https://github.com/Homebrew/homebrew-${tap}.git
fi
done