[Linux实践] macOS平台Homebrew更新brew update卡死,完美解决
[Linux实践] macOS 平台 Homebrew 更新 brew update 卡死,完美解决
版本2020.01.05
摘要:
使用brew install [软件包]安装软件包时,卡在Updating Homebrew...
或输入`brew update`更新brew,半天没反应.产生原因一般是在国内访问官方
更新源获取资源太慢,解决方案可以采用更换国内镜像更新源.
关键词: Linux; macOS; mac; Homebrew; brew update; 开源软件镜像站;
一. Homebrew 简介
Homebrew是什么?
- Homebrew是macOS或Linux缺失的软件包的管理器.
如何安装Homebrew?
- 命令行里运行以下命令即可.
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
- 参考Homebrew.
Homebrew几点备注.
- Homebrew会将软件包安装到独立目录,一般为
/usr/local/Cellar
目录. - 然后将文件软连接至执行路径,一般为
/usr/local/bin
目录.
- Homebrew会将软件包安装到独立目录,一般为
二. Homebrew 命令
brew install [包名]
brew update
brew update -verbose
brew cleanup
:清理旧有软件包.brew doctor
:诊断Homebrew的问题.brew update-reset
三. brew update 卡死解决方案
- 问题场景.
- 场景1.使用
brew install [软件包]
安装其他软件包,卡在Updating Homebrew... - 场景2.输入
brew update
更新brew,半天没反应.
- 场景1.使用
- 原因分析.
- 对于场景1我们可以选择
Control-C
直接终止当前前台update进程,然后brew就会接着执行install了. - 但这样并不能"治本",其实造成上述两种情况的主要原因是资源访问太慢.
- 我们知道默认官方更新源在
github.com
上,因为一些原因,国内访问不太顺畅. - 解决方案是我们可以选择国内镜像更新源.
- 国内镜像更新源推荐中国科大开源软件镜像站或清华大学开源软件镜像站.
- 某些同学可能要有疑问了,"我已经按照网上其他教程替换更新源了呀?怎么还不行?"
- 这里回答是,"可能你并没有更换彻底".
- 输入
brew update -verbose
我们可以看到brew update
工作的具体步骤.
$ brew update -verbose
Checking if we need to fetch /usr/local/Homebrew...
Checking if we need to fetch /usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask...
Fetching /usr/local/Homebrew...
Checking if we need to fetch /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core...
Fetching /usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask...
Checking if we need to fetch /usr/local/Homebrew/Library/Taps/homebrew/homebrew-services...
Fetching /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core...
Already up-to-date.
- 我们可以看到它一共检查了
Homebrew
,homebrew-cask
,homebrew-core
,homebrew-services
这几个文件. - 而网上大部分教程替换更新源时往往只替换了
Homebrew
和homebrew-core
这两个的源. - 出问题,可能就出在
homebrew-cask
这个文件上,而我之前运行brew update -verbose
显示卡死也的确是卡在这个地方. - 所以知道了原因,我们只要把
homebrew-cask
这个文件的更新源也替换一下即可. - 具体操作见中国科大镜像源:homebrew-cask.
- 输入
- 对于场景1我们可以选择
- 解决方案,以USTC镜像为例.
- 步骤1.替换
Homebrew
源.$ cd "$(brew --repo)"
$ git remote set-url origin https://mirrors.ustc.edu.cn/brew.git
"$(brew --repo)"
是用来自动指向Homebrew的目录的.- 参考Homebrew源使用帮助.
- 步骤2.替换
homebrew-core
源.$ cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core"
$ git remote set-url origin https://mirrors.ustc.edu.cn/homebrew-core.git
- 步骤3.替换
homebrew-cask
源.$ cd "$(brew --repo)"/Library/Taps/homebrew/homebrew-cask
$ git remote set-url origin https://mirrors.ustc.edu.cn/homebrew-cask.git
- 补充. 中国科大开源软件镜像站或清华大学开源软件镜像站同时提供的有Homebrew二进制预编译包
Homebrew-bottles
的镜像源.- 可有选择的进行替换,这里不进行演示.
- 参考Homebrew Bottles 源使用帮助.
- 步骤1.替换
[Linux实践] macOS平台Homebrew更新brew update卡死,完美解决的更多相关文章
- MacBook Pro/Air 下使用 linux ubuntu 系统 波浪号“~”变成其他 符号 的完美解决办法
打开终端,输入: sudo su - > /sys/module/hid_apple/parameters/iso_layout sudo su -需要root权限,所以使用前请注意已下载roo ...
- Linux怎样创建FTP服务器--修改用户默认目录-完美解决 - 费元星
在创建FTP服务器之有先命令: ps -ef |grep vsftpd 查一下系统有没有安装vsftpd这个服务器,如果出现如下图所示的界面说明没有安装. 然后再执行:yum install vs ...
- 【tomacat集群】Linux或 window配置多个Tomcat同时运行-完美解决-未来星开发团队-费元星
Linux系统下怎样配置多个Tomcat同时运行呢,首先修改变量为第一个tomcat,然后修改第二个tomcat启动的脚本 如何在同一系统里同时启动多个Tomcat http://www.cnb ...
- 让 Homebrew 走代理更新 + brew 管理 node 版本
0.前言 环境:MacOS 背景:整理下今天所做的配置. 1. 让 Homebrew 走代理更新 brew update 就卡住了,即使开了 shadowsocks 也不行.因为 shadowsock ...
- Mac/Homebrew brew update慢的方法
Homebrew是Mac的软件包管理器,我们可以通过它安装大多数开源软件.但是在使用brew update更新的时候竟然要等待很久.猜测可能是因为brew的官方源被墙或或者响应慢.于是想到的切换Hom ...
- brew update慢,brew install慢如何解决?
主要是资源访问太慢造成的,替换默认源镜像就行. brew使用国内镜像源 这里用中科大的,另外还有清华的可用 1 2 3 4 5 6 7 8 9 10 # 步骤一 cd "$(brew ...
- brew update 很慢
brew使用国内镜像源 这里用中科大的,另外还有清华的可用 # 步骤一 cd $(brew --repo) git remote set-url origin https://mirrors.tuna ...
- 解决brew update很慢
一般遇到这种问题,就跟墙有关啦,需要更换源. 用清华的源就非常好,去清华镜像的官网看一下说明,https://mirrors.tuna.tsinghua.edu.cn/help/homebrew/ $ ...
- 【macOS】Homebrew & Homebrew cask macOS软件包管理神器
Homebrew Homebrew 与 Homebrew Cask Homebrew 是基于 OS X 的套件管理工具,是一个开源的 Ruby 脚本,专门用于快速下载软件.更通俗地讲,Homebrew ...
随机推荐
- 全文索引——CONTAINS 语法
Like直接在数据据中查找可以查到所有所需记录但是会扫描整个表会影响性能CONTAINS是基于全文索引进行查询,查询结果受系统全文索引分词的方法影响查询结果会不全.Select * FROM A Wh ...
- 【BZOJ1227】[SDOI2009]虔诚的墓主人
E. 虔诚的墓主人 题目描述 小W 是一片新造公墓的管理人.公墓可以看成一块N×M 的矩形,矩形的每个格点,要么种着一棵常青树,要么是一块还没有归属的墓地.当地的居民都是非常虔诚的基督徒,他们愿意提前 ...
- QQ第三方登录报错error=-1
qq 第三方登录报错error=-1 再次实例化qc类.
- linux服务器时间更新
yum install ntpdate ntpdate ntp1.aliyun.com(阿里云服务器时间)
- 深度学习的Xavier初始化方法
在tensorflow中,有一个初始化函数:tf.contrib.layers.variance_scaling_initializer.Tensorflow 官网的介绍为: variance_sca ...
- 割点(tarjan)
对于根来说,如果它有超过1棵子树,那么它是一个割点 对于非叶结点来说,如果它的某一个儿子没有回边能到达高于它的点,那么它是一个割点 叶节点不是割点 //洛谷3388 #include<algor ...
- phpstorm 中git 的使用
phpstorm 是一款不可多得的IDE 环境,它既是一款强大的编辑器,还是一款调试器,同时还是一款git 可视化管理工具哟,phpers 值得拥有.今天介绍的是他不为人知的强大功能 —— git. ...
- Flex AIR应用拍照功能(Android和IOS版本)
说明: 使用AIR处理拍照后的回调.照片文件的保存功能时,针对于IOS和Android两个平台是有所不同的. 但.关于如何调用摄像头进行拍照这个功能,Android和IOS是一致的. 技术实现: 1) ...
- linux 字符设备注册
如我们提过的, 内核在内部使用类型 struct cdev 的结构来代表字符设备. 在内核调用你 的设备操作前, 你编写分配并注册一个或几个这些结构. [11] 11为此, 你的代码应当包含 < ...
- P1077 旅行
题目描述 你要进行一个行程为7000KM的旅行,现在沿途有些汽车旅馆,为了安全起见,每天晚上都不开车,住在汽车旅馆,你手里现在已经有一个旅馆列表,用离起点的距离来标识,如下: 0, 990, 1010 ...