十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Homebrew可视化:BrewUI使用指南与Intel Mac安装排错

Homebrew可视化:BrewUI使用指南与Intel Mac安装排错 如果你最近在 Intel Mac 上折腾 Homebrew大概率见过一连串让人血压升高的报错。而当你终于把 Homebrew 装好打开终端又发现自己根本记不住brew search、brew install这些命令——这就是我写这篇文章的起点。我要聊的是 BrewUI一个给 Homebrew 配上图形界面的开源工具它不能帮你解决所有安装层问题但能把日常包管理变成点几下鼠标的事。适合谁看一是被命令行劝退的新手二是想看明白 Homebrew 到底怎么工作的老用户三是正在为 Intel Mac 安装报错头疼的人。1. 为什么有了 brew 命令我还会去装一个 BrewUI1.1 终端操作的真实门槛Homebrew 是 macOS 生态里绕不开的包管理器安装软件、卸载软件、查依赖、看更新一条命令就能完成。但问题也出在这里它的主战场是终端。不是每个人都愿意记命令。brew install要带上包名brew uninstall要区分是删公式还是删 Caskbrew services启动服务又有一套参数brew tap还要理解仓库源。这些命令查一次没问题天天查就很折磨。我身边有朋友为了装一个命令行工具被迫打开教程帖复制粘贴然后关掉终端下次再装东西再打开教程——这套流程非常低效。还有一类操作终端里并不直观。比如我想看某个包依赖了哪些库、有没有更新版本、安装之后多出来多少磁盘占用这些信息在命令行里要拼出一串带参数的命令才有结果。哪怕是我这种用了好几年 Homebrew 的人偶尔也会因为某个包名记不全不得不先brew search一下。这就是图形界面的意义不是让终端消失而是把高频操作从背命令变成看界面。1.2 BrewUI 到底做了什么BrewUI 本质上是一个 Homebrew 的可视化外壳。它不重新发明包管理逻辑底层还是调用 brew 命令只是把结果渲染成窗口、列表和按钮。你搜索一个包它把描述、版本、安装状态、依赖情况直接列出来你点一下安装它执行的就是终端里那句brew install但你看得见进度条和日志输出。这一点很重要BrewUI 不是一个脱离 Homebrew 的另一个软件源它是 Homebrew 的一层皮。所以你在 BrewUI 里装的东西和你在终端里用 Homebrew 装的东西是同一套数据库、同一条路径不会出现两套环境互相打架的情况。我用它的核心场景有三个搜索包、看更新、管理 Cask。搜索包省了记名字的麻烦更新提示能让我一眼知道哪些软件有新版本Cask 管理更是把桌面包的安装卸载从去官网下载变成了软件中心一样点一下。如果你日常只有两三个包要管那命令行够用但如果你想让你电脑上的包管理可视化BrewUI 确实是目前比较省心的选择。2. Intel Mac 装不上 Homebrew先把这几类报错搞清楚2.1 安装前必查的三项环境信息很多人在 Intel Mac 上装不上 Homebrew第一反应是旧机器被抛弃了但实际排查下来绝大多数问题都出在环境上。我建议你在重跑安装命令之前先花两分钟确认三件事。第一macOS 版本。Homebrew 对系统版本有最低要求不同时期发布的版本要求不同系统太老时安装脚本会直接拒绝。你在关于本机里看一下系统版本再去 Homebrew 官方文档的维护条款里对照一下当前要求基本能排除这一个原因。第二Xcode Command Line Tools。这个组件是 Homebrew 编译源码的底层依赖没装好的话安装脚本会卡在编译环节或者报出很多curl以外的奇怪错误。直接在终端跑xcode-select --install如果提示already installed就说明没问题。第三之前是否留过残留。很多人的 Intel Mac 是刚从旧电脑迁移数据过来的可能以前装过某个版本的 Homebrew后来删了没删干净。安装脚本在执行时发现/usr/local下面有旧的目录或权限混乱就会直接抛错。这三项确认到位安装成功率少说提高一半。2.2 高频报错与根因对照下面这张表是我在 Intel Mac 实机上遇到过的、以及网上高频出现的问题汇总报错关键词、根因和解决方向都列出来方便你直接用关键词对照。报错关键词常见根因处理方向curl: (7) Failed to connect网络无法访问安装脚本所在的远程仓库更换网络环境重试或稍后避开高峰时段再试Command Line Tools not found缺少 Xcode 命令行工具执行xcode-select --installPermission denied或Operation not permitted/usr/local或系统目录权限异常检查是否有残留目录修正权限后再装fatal: cannot copy ... to ...上一次安装中断仓库目录不完整删除残留目录后重新执行安装Error: Homebrew must be run under Ruby 2.6系统自带 Ruby 版本过旧脚本不适配升级 macOS 系统或改用官方安装脚本failed: Connection reset by peer网络出口不稳定拉取仓库中断换网络源重试这里还是要敲个黑板Intel Mac 本身并不过时Homebrew 目前仍然支持 Intel 架构安装路径是/usr/local。网上流传的Intel Mac 装不了 Homebrew绝大多数是上文这些环境问题叠加造成的误判。2.3 一次真实排查过程我去年帮朋友处理过一台 2020 年的 Intel MacBook Pro现象是安装脚本每次跑到一半报Error: Command failed with exit 1没有任何额外提示。我一开始也以为是 Homebrew 的问题后来打开安装日志发现问题出在/usr/local目录权限上——他的机器是公司统一配发的IT 部门用脚本锁过目录导致 brew 无法创建Cellar子目录。处理流程很简单先删掉之前安装中断残留的/usr/local/Homebrew然后用sudo chown -R $(whoami) /usr/local把权限还给当前用户最后重新执行官方安装命令。三分钟解决。所以我想强调一个排查思路看到报错别急着怀疑芯片先看日志。安装脚本通常会输出失败卡在哪一步是下载失败、权限失败还是编译失败。权限问题看目录网络问题看连接编译问题看系统组件。按这个链路排下去基本没有解决不了的。3. BrewUI 安装的两种方式与打不开的破解3.1 图形化安装从 Releases 页面下载BrewUI 最常见的安装方式是直接从开源项目的 Releases 页面下载对应平台的应用包。需要说明的是现在 GitHub 上叫 BrewUI 的项目不止一个我建议你下载时看清项目是否处于活跃维护状态以及是否带.dmg或.zip的预编译产物。下载完成后把它拖进应用程序文件夹。拖进去之后先别急着打开。因为这类第三方开源应用没有上架 App StoremacOS 的 Gatekeeper 会在首次启动时拦截。如果双击之后提示无法打开因为 Apple 无法检查其是否包含恶意软件不要慌这是新装第三方 App 的正常现象。你打开系统设置里的隐私与安全性往下滑在安全性区域能看到一条仍要打开的提示点一下确认就可以。如果连仍要打开都没有或者打开后立刻闪退那就要考虑应用包验证的问题。此时可以在终端执行xattr -dr com.apple.quarantine /Applications/BrewUI.app这行命令的作用是去掉下载文件的隔离属性让系统不再对它做安全校验。命令执行完再试一次启动大部分闪退和拦截都能解决。3.2 两条安装路径怎么选除了下载应用包Homebrew 社区有的 cask 源里也支持直接安装 BrewUI。安装前你可以在终端搜索一下brew search brewui如果搜索结果里出现了对应的 cask那么直接运行brew install --cask brewui这种方式更符合包管理器习惯后续升级也能用brew upgrade --cask brewui完成。但我必须坦白说这类个人开发的图形工具更新节奏不稳定cask 源不一定实时收录所以我个人更推荐手动从 Releases 下载。理由很简单下载下来的 dmg 是确定可用的版本不依赖 cask 仓库的收录速度。3.3 菜单栏图标消失、窗口不弹出的问题BrewUI 这类工具通常会在菜单栏显示一个图标点击图标弹出主窗口。如果你打开后发现菜单栏没有图标先检查 macOS 菜单栏是不是因为刘海屏或折叠菜单栏设置把图标藏起来了。在系统设置里搜索菜单栏把 BrewUI 加入允许显示的列表即可。如果图标在但点击没反应大概率是应用本身还在后台加载。首次启动时 BrewUI 要扫描本地已经装好的所有包包多的话会卡几秒。这时候你可以打开终端直接运行brew list如果终端能秒出结果说明 Homebrew 本身没问题问题出在 BrewUI 和 Homebrew 之间的环境变量没有对上重启一次 BrewUI 就好。4. BrewUI 的日常操作从搜索到升级的一整套流程4.1 搜索和浏览软件包装好 BrewUI 之后第一次打开你会看到一个类似应用商店的主界面。顶部是搜索框下面是已安装包的列表还可能按 Formula 和 Cask 做了分区。这里我多解释一句 Formula 和 Cask 的区别新手很容易搞混。Formula 是命令行工具的安装定义比如wget、git、ffmpeg这一类装完主要在终端里用Cask 是图形应用的安装定义比如 Google Chrome、VS Code、IINA 播放器装完会出现在应用程序目录。BrewUI 会把这两类分开展示和筛选你搜索的时候自己心里也要有数否则会出现搜到了但不知道装的是什么的困惑。搜索的时候你输入关键词列表会实时过滤。点进某一个包可以看到它的版本号、简要描述、所属分类以及依赖关系。依赖关系这个信息在终端里要输入brew info 包名才看得到在 BrewUI 里直接展示在详情页对新手友好很多。4.2 安装与卸载在 BrewUI 的详情页找到安装按钮点下去软件会执行真正的 brew 安装命令。安装过程会显示日志输出你大概率能看到类似Downloading https://ghcr.io/...的内容。看到卡住不要慌这通常是在下载依赖网络慢的时候多等一会儿。卸载的骚操作值得单独说一下。Homebrew 卸载命令分两种brew uninstall卸命令行工具brew uninstall --cask卸图形应用。你在 BrewUI 里只需要找到这个包点卸载它会根据类型自动选对命令。这比自己记参数省心得多。有一点要提醒卸载包之前最好看一眼依赖关系。如果某个包被其他多个包依赖直接卸载可能导致其他软件运行不正常。在 BrewUI 里被依赖信息列得比较清楚你可以在卸载前判断一下风险。4.3 批量升级与缓存清理这是我觉得 BrewUI 最值得装的一个理由。Homebrew 里升级所有软件要跑brew upgrade命令行操作简单但可读性极差——你不知道哪些包升级了、哪些有问题、升级后版本变成了什么。BrewUI 会先显示所有可更新包的数量和列表你可以全选升级也可以挑着点。升级完成之后别忘了清理旧版本和缓存。在终端里这对应的是brew cleanup。BrewUI 一般会在界面里提供一键清理的入口清理前会先告诉你大概能释放多少磁盘空间。这一步对 Intel Mac 尤其重要因为 Intel 机器本地编译多~/Library/Caches/Homebrew很容易膨胀到几个 G。4.4 依赖关系与日志信息BrewUI 最贴近专业工具的部分是它对依赖和日志的可视化。依赖关系很多人用 Homebrew 几年都没搞明白自己电脑上为什么会多出一些莫名其妙的包。其实那些大多是某个主包的依赖项主包安装时被自动拉进来了。BrewUI 能把这个依赖链展示出来你一看就懂以后卸载也不会误伤。日志信息它会把每次安装、升级、清理操作输出到日志区域。这个功能在命令行里就是满屏滚动的数字看久了眼睛疼。BrewUI 做成界面以后出错时能直接定位到哪一行报错排查效率立刻不一样。我自己的习惯是每次批量升级完打开日志面板扫一遍有没有warning或error。没有就当无事发生有关键词就点进去看上下文。这套流程比我在终端里手动翻输出要舒服太多。5. 卸载残留清理让 Homebrew 和 BrewUI 干净离开5.1 先卸载 BrewUI 本体如果你决定停用 BrewUI第一步很简单把 BrewUI.app 从应用程序拖进废纸篓。但这不是全部。这类开源工具通常会在用户目录下留下配置数据。打开 Finder按Command Shift G输入~/Library进去后手动搜一下名字里带BrewUI的文件夹或偏好设置文件。常见的落脚点有三个~/Library/Application Support/、~/Library/Preferences/、~/Library/Caches/。找到对应的目录删掉就行基本不会误伤系统文件。需要注意的是如果你是用brew install --cask brewui安装的那么直接用 cask 方式卸载更干净brew uninstall --cask brewui这个命令会把应用本体连带一些 cask 自动创建的文件一起清理掉。5.2 跑 Homebrew 官方卸载脚本如果你的目的不只是删掉 BrewUI而是把整个 Homebrew 从系统里移除那就要分两步先卸载 Homebrew 本体再清理残留。卸载 Homebrew 本体最简单的方式是运行官方卸载脚本/bin/bash -c $(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/uninstall.sh)脚本会先扫描当前 Homebrew 安装路径下有哪些包列出清单后问你确认。它会删掉 Homebrew 核心目录、cellar、cask 数据以及一部分配置文件。这个过程是交互式的中途会提示你输入sudo密码别急着跑开。5.3 手动检查遗留目录卸载脚本执行完之后不建议立刻相信系统已经干净了。我每次都会手动检查下面几个位置。先看命令是否已经失效打开终端执行which brew如果没有任何输出说明 brew 命令已经找不到了。接下来检查目录残留Intel Mac 重点看/usr/localApple Silicon 重点看/opt/homebrewls /usr/local如果你看到一个空目录或者只剩几个不相关的文件夹可以手动把 Homebrew 专属目录删掉。以下是常见残留位置按需执行sudo rm -rf /usr/local/Homebrew /usr/local/Cellar /usr/local/Caskroom sudo rm -rf $(brew --prefix)/var/homebrew 2/dev/null || true sudo rm -rf ~/Library/Caches/Homebrew ~/Library/Logs/Homebrew sudo rm -rf ~/Library/Application\ Support/Homebrew我自己用过几次之后总结的经验是看到Cellar、Caskroom、Homebrew这三个单词出现的目录基本可以判定为 Homebrew 专属残留可以放心清。但如果某个目录里还有其他软件的动态库或者二进制文件一定要看仔细再删别一刀切。5.4 卸载后的验证清单清理完毕做最后的验证。打开终端依次确认echo $PATH里是否还包含/usr/local/bin或/opt/homebrew/bin其中有残留路径也不一定有问题很多软件会自己添加。真正要确认的是两条命令brew --version git -C /usr/local/Homebrew status第一条如果显示command not found说明命令层已经卸载干净。第二条如果提示目录不存在说明核心目录也没了。路径层面清理干净之后再把之前手动删掉的~/Library/Caches/Homebrew目录清空一次这台机器上的 Homebrew 才算真真正正地退场。另一个细节如果你曾经用 brew 装过很多服务类工具比如 MySQL、Nginx 之类的它们在系统的开机启动项里可能还留有 plist 文件。卸载 Homebrew 不会自动清理这些服务的 LaunchAgent建议去~/Library/LaunchAgents和/Library/LaunchDaemons里检查一下把名字里对应服务名的 plist 文件移除避免下次开机后服务残留在后台运行。写在最后的一点个人经验BrewUI 不是那种装了就一定要用的工具但它确实能帮一部分人跨过命令行门槛。用了这段时间我最满意的是它把 Homebrew 的状态透明化了——装了什么、哪几个能升级、依赖关系长什么样一眼就清楚。如果你决定不装 BrewUI也完全没问题终端里的brew info、brew outdated、brew list一样能完成所有事只是需要多记几条命令而已。如果你正在被 Intel Mac 安装 Homebrew 的报错折磨记住我上面的话先看 macOS 版本再确认 Command Line Tools最后排查目录权限和残留九成问题都出在这三个环节。装好 Homebrew 之后再折腾 BrewUI你会发现这才叫真正的图形化包管理。最后再分享一个我踩过的坑别在 Homebrew 还没完全装好的时候去打开 BrewUI。我第一次用的时候Homebrew 环境变量没刷新BrewUI 打开后显示一片空白我还以为是软件坏了折腾半天最后发现只是终端会话没重启。所以装完 Homebrew 之后先开一个新的终端窗口确保brew --version正常再装 BrewUI能省掉不少自我怀疑的时间。
返回列表