更换Homebrew的更新源
前言
更换Homebrew的更新源的教程,在网上数不胜数,然内容大多大同小异且述之不详,且未提及版本上的差异。故作此文,以正视听。
在阅读此文之前,你需要了解Homebrew和Git并安装了它们。并且对于Homebrew官方更新源的速度赶到不满且不打算利用其它手段解决(如VPN),或者看了其它文章感到不求甚解,那么此文对你而言是有价值的。
更新源的机制
Homebrew的更新源由三部分组成:本体(brew.git)、核心(homebrew-core.git)以及二进制预编译包(homebrew-bottles)。
在很多教程中,只会提及到更换本体,而未涉及到核心与二进制预编译包的更换。这样实际上效果是不完全的(尽管这样也无法做到完全,毕竟有一些软件包的地址是不被收录的,只能从它们提供的链接处下载)。
从.git的后缀名可以看出,Homebrew的更新源是以Git仓库的形式存在的,这便是为什么需要用到Git的原因。也正是如此,使得可以对其进行克隆,成为新源。
更新源的选择
默认官方的更新源都是存放在GitHub上的,这也是中国大陆用户访问缓慢的原因,一般来说我们会更倾向选择国内提供的更新源,在此推荐中国科大以及清华大学提供的更新源,因为它们能够完整以上源组成的三个部分。并且在此感谢他们为大家提供的服务。
替换更新源
# 替换brew.git:
$ cd "$(brew --repo)"
# 中国科大:
$ git remote set-url origin https://mirrors.ustc.edu.cn/brew.git
# 清华大学:
$ git remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/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
# 清华大学:
$ git remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-core.git# 替换homebrew-bottles:
# 中国科大:
$ echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.ustc.edu.cn/homebrew-bottles' >> ~/.bash_profile
$ source ~/.bash_profile
# 清华大学:
$ echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles' >> ~/.bash_profile
$ source ~/.bash_profile# 应用生效:
$ brew update
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
以上在中国科大和清华大学任选其一即可,在使用其他源的时候,最好先尝试访问其链接看看是否健在,并且因为历史原因,最初的brew.git是叫homebrew.git的,而现在部分更新源早已随官方更名,所以切记要验证。
并且没有严格规定必须三个组成部分必须是来自同一提供,可随性发挥。
且Homebrew在早期版本中更新源的是在/usr/local目录下的,而现在是在/usr/local/Homebrew,不过应该都是可以使用"$(brew --repo)"
来自动指向目录的,所以无需理会。
如果你之前折腾过不少导致你的Homebrew有点问题,那么可以尝试使用如下方案:
# 诊断Homebrew的问题:
$ brew doctor# 重置brew.git设置:
$ cd "$(brew --repo)"
$ git fetch
$ git reset --hard origin/master# homebrew-core.git同理:
$ cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core"
$ git fetch
$ git reset --hard origin/master# 应用生效:
$ brew update
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
重置更新源
所谓有进则有退,在某些时候也有换回官方源的需求。
# 重置brew.git:
$ cd "$(brew --repo)"
$ git remote set-url origin https://github.com/Homebrew/brew.git# 重置homebrew-core.git:
$ cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core"
$ git remote set-url origin https://github.com/Homebrew/homebrew-core.git
- 1
- 2
- 3
- 4
- 5
- 6
- 7
至于homebrew-bottles,本质上作为一个环境变量的存在,之前的命令也只是将其写入到/usr/.bash_profile
中,并且只是在文件尾部添加一行。所以之前的命令不推荐重复执行,在未掌握相关命令技巧的前提下,我推荐直接去修改.bash_profile
文件:
当然这里的主题是重置更新源,所以我们直接选择删除环境变量HOMEBREW_BOTTLE_DOMAIN,使其成为默认值即可。
当然,最后不要忘记$ brew update
进行应用。
后记
在完成更新源的更换后,我们可以使用$ brew upgrade
将现有的软件进行更新至最新版本,这样便能很直接的看出速度上的变化了。最后不要忘记$ brew cleanup
将旧有的软件安装包进行清理。
更换Homebrew的更新源相关推荐
- Ubuntu 18.04.2 LTS更换国内快速更新源的正确姿势
前言:看见Ubuntu新出了18.04版本感觉不错,装一个玩玩,虽然有很多教程可以参考,但我也给出一个不是很一样的方案吧,尽量解释的详细一点. 为了下载更方便,速度更快,我们往往在使用Linux系列系 ...
- ubuntu 18.04更换为国内更新源
ubuntu 18.04更换为国内更新源 在执行ubuntu安装开发环境命令sudo apt update, sudo apt install build-essential时,发现安装速度过慢,可以 ...
- 更换Ubuntu的更新源方式
step 1.进入到root权限 $ sudo su step 2. 备份原来的更新源 $cp /etc/apt/sources.list /etc/apt/sources.list. ...
- 更换Homebrew为中科大源
官网:https://brew.sh/index_zh-cn /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com ...
- Deepin更换镜像源,更换系统软件更新源方法完整整理用html书写。
个人博客同文链接:http://www.987931.top/index.php/archives/4/ 首次安装Deepin使用一定要做的事,Deepin更换镜像源,换源教程. Deepin更换镜像 ...
- Homebrew 更换阿里云镜像源
你可能有过这样糟糕的经历,当你满心欢喜的敲下 "brew install 应用名称",静静的等待安装结果的时候,Homebrew在 Updating Homebrew卡死了. Ho ...
- ubuntu 如何正确的更换更新源
在ubuntu的更新中,每个版本都会对应相应的名字,反正就是动物的名字 所以在更换更新源的时候,得把对应版本的名字也得进行替换 看我标红的位置,这个也得跟着替换,才能进行相应版本的更新 清除PPA的方 ...
- linux ubunt 安装软件的前期准备——更新源的更换
如果是高手,请翻到页面最下方,更换更新源的总结,直接操作即可 可能会优点啰嗦,但是认真看,一定能解决问题~~希望对大家有帮助~ 最近在熟悉linux环境,自己安装了一个ubuntu虚拟机. 很多朋友问 ...
- kali linux切换更新源_使用Xshell链接Linux、kali更换更新源及kali安装软件
一.Xshell首次链接kali系统中的ssh Xshell:帮助我们去连接各种服务平台,方便管理服务器,链路可以加密处理(ssh/vsftp) 1.开启kali中的ssh服务,service ssh ...
- 虚拟机 Linux ubuntu16.04 对 windows 设置共享文件夹教程(samba)(ubuntu16.04换源【更换下载源】【更换源】【更新源】)(如果连不上需要开SSH服务)
文章目录 20220324 其实它这个换源貌似也没必要直接修改配置文件,在ubuntu设置里也能更换源 安装 配置(用户不要写yg,写你自己的!) 换源 1.备份原始文件 2.打开文件 3.注释原文件 ...
最新文章
- Android10.0 Binder通信原理(二)-Binder入门篇
- NOJ 20 吝啬的国度
- 数字社交圈里的白酒“新”消费——腾讯2021白酒行业数字营销洞察白皮书
- java mongodb 返回所有field_Python爬虫框架:scrapy爬取知乎关注用户存入mongodb
- 对python的功能和扩展功能的认知_Python基础-基础认知和库了解
- 黄聪:wordpress教程
- 线上幽灵:世界头号黑客米特尼克自传改
- 一道闪光在图片上划过
- java四目运算符_小心! JAVA三目运算符
- react-native >0.69版本 链接@ant-design/icons-react-native
- 视频直播技术详解之直播云SDK性能测试模型
- 一文看懂互联网支付系统架构
- CCS 使用报错合集 -mcu:cc26xx
- Linux安装-CentOS6.x
- 解答c语言的app,你学c语言用的什么app?
- Linux学习-40-格式化分区mkfs、mke2fs命令用法
- 红米note4x连点Android,红米Note4X lineage16 安卓9.0 极致省电 纯净 完美root Xposed 经典版...
- 对称加密和非对称加密(to be continued)
- Adobe Flash Professional CS5 下载
- 六级Translation