mac brew

2022-05-19更新:
清华和中科大都提供了非常详细的安装与使用教程
https://mirrors.tuna.tsinghua.edu.cn/help/homebrew/
https://mirrors.ustc.edu.cn/help/brew.git.html

-------以下为之前的内容-----------

解决下载慢的问题
https://gitee.com/cunkai/HomebrewCN/
-------以下为之前的内容-----------

参考 https://www.xiebruce.top/720.html

先看总结:
一般情况安装软件都是这样的:brew update brew install vim
brew先去GitHub上升级自己,然后去formula库(也是在GitHub上)查询vim的依赖、下载地址等
然后去Bottles仓库下载vim的依赖和vim安装到我们的电脑上。

brew下载慢,存在三个原因:

  • 去GitHub中升级自身慢
  • 去GitHub的formula仓库解析软件信息慢
  • 去软件仓库(Bottles)下载软件慢

解决这三个问题就可以加速。

ruby

ruby是一种编程语言,homebrew就是用ruby写的。

安装brew

官网 https://brew.sh/index_zh-cn
官网给出了安装命令

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

解释下上面的命令,使用curl(下载工具)下载https://raw.githubusercontent.com/Homebrew/install/master/install.sh文件,然后使用/bin/bash执行下载的install.sh就可以安装homebrew。

Homebrew

本身它就是一个用ruby写的软件,软件是托管在github上的,所以下载的时候可能会很慢。同样,每次执行brew update的时候它会首先去更新自己,故每次可能都会很慢。
解决的办法是不从GitHub上下载,而是从国内源下载,比如中科大。

cd "$(brew --repo)"
git remote set-url origin git://mirrors.ustc.edu.cn/brew.git

可以使用下面的命令查看当前的远程仓库

git remote get-url origin
git remote -v

两条命令都可以。
设置远程仓库是中科大mirror,执行更新brew的时候就不是去GitHub上下载新版本,而是从中科大源上下载。

Formula

formula 定义了一个软件包。包括了这个软件的,依赖、源码位置及编译方法等。
当我们安装一个软件,比如brew install vim的时候,vim就会被送到formula仓库中匹配获取vim的依赖、编译方法、下载地址等等。然后按照匹配的结果去安装依赖、下载软件安装到我们的电脑上。
注意formula仓库并没有软件本身,而是记录了一些软件的信息。
formula仓库可以有很多,默认的是core,使用brew tap命令可以查看当前有几个formula库,下面是我的:

# kun @ localhost in ~ [22:31:27] 
$ brew tap
homebrew/core

默认这个库是在github上的,所以很慢也是很正常的。所以我们可以把它更换成国内的:

cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core"
git remote set-url origin git://mirrors.ustc.edu.cn/homebrew-core.git

参考debian的apt包管理器,除了官方仓库,也可以添加其他仓库,formula也是支持的。
比如cask就是安装带gui的软件的。

Bottles

如果用的是bash

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

如果用的是zsh(我就用的是zsh)

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

当然也可以直接在~目录下创建.bash_profile 或者.zshrc然后用文本编辑器添加 export·····/homebrew-bottles,然后执行source命令使之生效。

One more thing

卸载的时候无法卸载依赖的解决办法:
使用rmtree,先安装,然后brew rmtree 包,即可

brew tap beeftornado/rmtree
brew rmtree <package>
posted @   feipeng8848  阅读(529)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示