Updating Homebrew... 长时间不动解决方法

最近打算学习React Native的开发,在配置开发环境时遇到了问题。执行:$ brew install watchman,在安装watchman的时候卡在(updating homebrew...)不动,开始以为是网络问题,后来不甘心还是网上找找解决方案,结果还是找到了。

确保你已安装Homebrew

依次输入下面的命令(注意:不要管重置部分的命令,这里原作者贴出来、我也贴出来是以防需要重置的时候有参考操作命令)

替换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 

重置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

以上命令的原文替换及重置Homebrew默认源

以下是我操作的终端截图(更新了watchman、更新Flow速度也是棒棒的,不信你试试命令:brew install flow):



<think>好的,我现在需要回答用户关于Homebrew在macOS上的更新过程,包括Cask和服务的部分。首先,我需要回忆一下自己对Homebrew的了解,并确保信息的准确性。 用户的问题涉及Homebrew的更新流程,尤其是Cask和服务的管理。我记得Homebrew本身是一个包管理器,分为两部分:Formula(命令行工具和库)和Cask(用于GUI应用程序)。服务管理可能指的是通过Homebrew安装的服务如何启动和更新。 首先,Homebrew的更新通常使用`brew update`命令,这会从官方仓库获取最新的Formula和Cask信息。接下来,升级所有已安装的包可以使用`brew upgrade`,而针对Cask可能需要加上`--cask`参数。不过需要确认是否在升级时Cask也会被默认处理,或者是否需要额外命令。可能用户需要明确区分Formula和Cask的升级步骤。 关于服务管理,Homebrew有一个`brew services`命令,可以管理后台服务,比如启动、停止、重启等。服务的更新可能涉及到当软件包升级后,是否需要重新启动服务,或者如何确保服务使用新版本。例如,升级PostgreSQL后,可能需要重新启动服务才能应用新版本。 还需要考虑自动更新的问题,比如是否推荐用户开启自动更新,或者手动更新更安全。另外,用户可能想知道如何检查过时的包,可以使用`brew outdated`命令,这会列出所有可更新的Formula和Cask。 可能需要注意的地方是,Cask的更新是否在默认的`brew upgrade`中被包含,或者是否需要显式指定。根据我的知识,从某个版本开始,Homebrew将Cask整合到主命令中,因此`brew upgrade`也会升级Cask应用,但可能需要确认。例如,是否需要使用`brew upgrade --cask <cask-name>`来单独升级某个Cask应用。 此外,用户可能关心更新后是否需要执行清理操作,比如使用`brew cleanup`来删除旧版本的文件,释放空间。这也是更新过程中的一部分。 在引用参考资料时,用户提供的引用[1]和[3]提到了Homebrew安装和通过它安装其他软件如JDK和Gradle,但引用[2]提到的是homebrew-bundle,这可能与批量安装和管理包有关,但用户的问题是关于更新过程,所以可能需要参考其他来源的信息,或者结合官方文档。 最后,生成相关问题需要考虑用户可能进一步想知道的内容,比如如何回滚版本,如何处理更新冲突,或者如何管理特定服务的自动启动等。</think>Homebrew是macOS上广泛使用的包管理器,其更新流程涉及Formula(命令行工具)、Cask(GUI应用)和服务管理的协同操作。以下是具体步骤和原理: ### 1. **核心更新流程** - **更新仓库索引**:执行`brew update`会从Homebrew核心仓库(Formula)和Cask仓库同步最新包信息,例如: ```bash brew update # 同步Formula和Cask的元数据[^1] ``` - **升级所有包**:`brew upgrade`默认升级Formula和Cask(v3.0+版本后整合),但可单独指定: ```bash brew upgrade # 升级所有Formula和Cask brew upgrade --cask # 仅升级Cask应用 ``` ### 2. **Cask的特殊处理** - **应用静默更新**:Cask通过`--greedy`参数检测自动更新的应用(如Chrome),跳过已标记为自动更新的包: ```bash brew outdated --cask --greedy # 显示需要手动干预的Cask[^2] ``` - **强制重装应用**:若GUI应用因签名问题更新失败,可通过`--force`重装: ```bash brew reinstall --cask --force firefox ``` ### 3. **服务管理联动** - **服务状态同步**:使用`brew services`命令在升级后自动重启服务: ```bash brew services restart postgresql # 重启数据库服务以应用新版本[^3] ``` - **依赖热更新**:部分服务(如Nginx)支持配置重载而不中断连接: ```bash brew services reload nginx ``` ### 4. **深度维护操作** - **清理旧版本**:`brew cleanup -s`删除所有Formula和Cask的历史版本并优化存储库索引,例如: ```bash brew cleanup --prune=all # 彻底清理超过120天的缓存 ``` - **依赖树验证**:通过`brew deps --tree`检查升级后的依赖冲突: ```bash brew deps --tree python@3.9 ```
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

启程Boy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值