ARTICLE DETAIL

资讯详情

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

Homebrew可视化工具下载安装全攻略:含镜像源与Redis/Kafka

Homebrew可视化工具下载安装全攻略:含镜像源与Redis/Kafka “Homebrew可视化工具下载”这个搜索词我隔三差五就会在后台看到有人这么搜但这个词组其实很含糊。往小了说是给MacOS的包管理器Homebrew配一个图形界面往大了说是通过Homebrew去下载安装Redis、Kafka、数据库这类带可视化界面的开发工具。很多朋友搜了一圈装了半天最后连自己到底要的是哪个都还没搞清楚。所以这篇文章我打算把这两类需求彻底掰开从Homebrew本身怎么装才不会失败到具体哪些可视化工具值得下载、命令怎么敲再到卸载清理这一整条链路一次性讲透。1. “Homebrew可视化工具”这六个字其实藏着两类完全不同的需求1.1 第一类是管理Homebrew本身的GUIHomebrew本身是个命令行程序你平时用它在终端里敲brew install、brew upgrade时间长了有人会觉得不直观我到底装了什么哪些包可以升级了有没有残留的旧版本这时候就出现了给Homebrew做图形化管理的工具典型代表是Cakebrew和Brewlet。这类工具解决的不是“下载软件”的问题而是“看清Homebrew里发生了什么”的问题。它们会把已安装的formula和cask列成清单显示版本号、更新时间、依赖关系你点一下按钮就能完成升级或者卸载。如果你习惯了brew list、brew outdated这些命令其实用不上它们但如果身边有刚接触命令行的同事这类工具能大幅降低心理门槛。1.2 第二类才是搜索量的大头用Homebrew下载图形化应用再看看热搜词里的“redis可视化工具”“kafka可视化工具”“redis客户端可视化工具”这些才是大多数人在找的东西。这类需求跟Homebrew本身的管理没半毛钱关系大家只是希望用Homebrew这个包管理器把RedisInsight、Another Redis Desktop Manager、DBeaver、Kafka UI这类带界面的软件装到电脑上省得去官网一个个下载dmg再手动拖进Applications。所以你在搜索引擎里敲“homebrew可视化工具下载”搜出来的结果五花八门本质原因是这个短语包含了两种完全不同的目标。先把目标定清楚后面所有操作才不会跑偏。1.3 动手之前先搞清楚芯片架构和磁盘路径无论你要装哪种可视化工具第一步都是确认自己电脑的芯片类型因为Homebrew在Apple Silicon和Intel Mac上的安装路径不一样。uname -m # Apple Silicon通常会输出 arm64 # Intel Mac通常会输出 x86_64装好Homebrew之后可以用brew --prefix看一下实际路径。Apple Silicon上默认是/opt/homebrewIntel上默认是/usr/local。这个路径差异在安装脚本、环境变量配置、后续brew命令的PATH设置里都会出现提前知道能少踩很多坑。2. 先把Homebrew装对关于安装失败与镜像源这件事2.1 官方一键脚本为什么会卡住Homebrew官方给出的安装命令非常简短/bin/bash -c $(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)这句命令做了两件事先用curl把远程的install.sh下载到本地再用bash执行它。绝大多数安装失败都发生在第一步——这个安装脚本托管在raw.githubusercontent.com上而该域名在很多网络环境下访问并不稳定。你可能会遇到curl: (7) Failed to connect、超时报错或者干脆停在Downloading Command Line Tools阶段一动不动。有人会反复重试有人会去找各种第三方“一键脚本”。我的建议是不要碰第三方脚本因为你不知道它里面夹带了什么也不知道它维护到哪一年。正确的思路是给Homebrew的安装过程换一个可以稳定访问的地址源也就是国内开源镜像站。2.2 用国内开源镜像源替换三个关键地址Homebrew有三个核心地址brew仓库本身、formula配方元数据、预编译的二进制瓶包bottle。国内主流的开源镜像站都对这些做了同步配置方式十分成熟。以中科大镜像源为例安装前先设置三个环境变量export HOMEBREW_BREW_GIT_REMOTEhttps://mirrors.ustc.edu.cn/brew.git export HOMEBREW_CORE_GIT_REMOTEhttps://mirrors.ustc.edu.cn/homebrew-core.git export HOMEBREW_BOTTLE_DOMAINhttps://mirrors.ustc.edu.cn/homebrew-bottles如果你更习惯清华镜像源也可以替换成对应的地址export HOMEBREW_BREW_GIT_REMOTEhttps://mirrors.tuna.tsinghua.edu.cn/git/homebrew/brew.git export HOMEBREW_CORE_GIT_REMOTEhttps://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-core.git export HOMEBREW_BOTTLE_DOMAINhttps://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles这三个变量里HOMEBREW_BOTTLE_DOMAIN是最值钱的。因为Homebrew安装绝大多数软件时优先下载的是预编译好的二进制包而不是现场编译源码。把这个地址指向国内镜像下载速度和稳定性都会有质的提升。另外注意export只在当前终端窗口生效等你关掉终端再开一个窗口就丢了。想让镜像长期生效需要把这些变量写进Shell配置文件里比如~/.zshrc或者~/.bash_profile。2.3 官方脚本加镜像变量的完整安装流程把镜像变量设置好之后再执行官方安装脚本成功率高很多先装Xcode Command Line Tools。多数情况下执行xcode-select --install会弹出图形化安装窗口如果系统提示已经安装直接忽略即可。在终端里export上面那三个镜像变量。执行官方安装脚本/bin/bash -c $(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)。脚本提示Press RETURN to continue时按回车。这一步之后它会开始clone Homebrew仓库国内网络环境下如果事先设置了镜像变量过程会顺畅很多。安装结束看输出Apple Silicon机器会提示你执行一段eval $(/opt/homebrew/bin/brew shellenv)Intel机器对应的路径是/usr/local/bin/brew。照着提示做。最后验证brew --version能输出版本号、brew config能看到镜像源配置就说明装好了。如果连安装脚本本身都下载不下来还有一种思路直接用镜像站的tarball包手动解压部署Homebrew本体。# Apple Silicon sudo mkdir -p /opt/homebrew sudo curl -L https://mirrors.ustc.edu.cn/brew/tarballs/master.tar.gz | sudo tar xz --strip-components1 -C /opt/homebrew # Intel Mac sudo mkdir -p /usr/local/Homebrew sudo curl -L https://mirrors.ustc.edu.cn/brew/tarballs/master.tar.gz | sudo tar xz --strip-components1 -C /usr/local/Homebrew解压完成后再执行brew --version验证并把手动设置的镜像变量export到当前终端再跑一次brew update让Homebrew把默认的tap和API数据补齐。这套手动方案是镜像站文档里公开提供的标准方式和官方脚本殊途同归。2.4 装完必会的几个高频命令不管你是为了装可视化工具还是日常维护Homebrew这几个命令都是最常用的brew update # 更新Homebrew自身及配方列表 brew upgrade # 升级所有可升级的包 brew search 关键词 # 搜索可安装的formula和cask brew install 包名 # 安装命令行工具 brew install --cask 包名 # 安装GUI应用可视化工具基本都走这条 brew list # 列出所有已安装的formula brew list --cask # 只列出已安装的GUI应用 brew services start 服务名 # 启动并托管后台服务例如Redis brew info 包名 # 查看包版本、依赖、安装路径等信息有一点值得单独说明我们讨论的“可视化工具下载”绝大多数都是GUI应用所以安装时要用brew install --cask而不是brew install。--cask专门用来管理macOS应用它会下载dmg或pkg然后安装到/Applications。很多人第一次搜教程全程用brew install xxx结果怎么装都装不上就是这个原因。3. 管理Homebrew的GUI实战Cakebrew与Brewlet3.1 Cakebrew功能最全的Homebrew图形界面Cakebrew是我最早接触的Homebrew GUI工具开源免费可以从Homebrew直接安装brew install --cask cakebrew它的主界面分成三块左侧是分类目录可以看到已安装的formula、cask、有更新可升级的包中间是包列表右侧是选中包的详情包括版本、依赖、安装日期。顶部工具栏直接提供了Update、Upgrade、Cleanup按钮相当于把常见的brew维护动作都做成了图形化按钮。实际用下来Cakebrew最实在的功能是查看依赖关系。你在命令行里跑brew info虽然也能看到依赖但界面里一个个点开看的体验完全不同。对我这种常年记不住依赖关系的人它在排查“我到底能不能卸载这个包”时帮了大忙。Cakebrew的缺点也很明显界面风格偏朴素开发维护频率不高和Homebrew自身的版本更新节奏有时会脱节。它更像一个“能用的工具箱”而不是精致的现代化应用。3.2 Brewlet藏在菜单栏里的轻量状态管家Brewlet是最近几年用下来比较舒服的一款菜单栏小工具同样可以直接用Homebrew安装brew install --cask brewlet安装之后菜单栏会出现一个啤酒杯图标。Homebrew有可升级的包时图标上会显示数字角标点开菜单可以直接看到有哪些formula和cask需要update还能一键执行brew upgrade和brew cleanup。它的定位和Cakebrew完全不同。Brewlet不打算给你完整的管理界面它只做一件事让你不用开终端就能感知到Homebrew的“健康状况”。对已经把brew命令用得飞起、只想要个状态提醒的人来说这个轻量设计反而更讨喜。缺点是如果你希望在里面浏览已安装的包、点一点就卸载那它满足不了你。3.3 我的选型建议对比维度CakebrewBrewlet界面形态独立窗口功能齐全菜单栏图标轻量核心功能浏览包列表、依赖、一键升级清理升级提醒、一键upgrade/cleanup适合人群不熟悉命令行、希望可视化操作习惯命令行、只要状态角标维护活跃度更新较慢版本迭代较快安装命令brew install --cask cakebrewbrew install --cask brewlet如果只能选一个我给的建议是刚接触Homebrew的人先装Cakebrew因为它的界面信息量更完整已经用了半年以上命令行、在终端里闭着眼睛能敲出brew update brew upgrade的人直接上Brewlet就够了没必要为了一个GUI装个大而全的工具。4. Redis可视化客户端两条命令装好连接即用4.1 RedisInsight与Another Redis Desktop Manager怎么选Redis可视化工具是热搜里“redis可视化工具”“redis客户端可视化工具”的主体需求。这个领域最出名的两个工具一个是Redis官方出品的RedisInsight一个是社区长期维护的Another Redis Desktop Manager缩写ARDM。RedisInsight是这两年的主流选择。界面现代功能覆盖很全支持树形视图查看key支持内置CLI执行命令还有内存分析、慢日志、发布订阅调试这些进阶能力。它最让人满意的一点是官方出品的定位版本迭代和你本机的Redis版本基本同步基本不存在“Redis升级了客户端却不兼容”的情况。ARDM是很多老用户从Redis Desktop ManagerRDM时代迁移过来的选择。当年RDM还是免费的后来商业化闭源了社区就做了ARDM这个开源替代品。它的特点是轻量、免费、跨平台日常查看和编辑key完全够用。对比维度RedisInsightAnother Redis Desktop Manager出品方Redis官方社区开源核心能力内嵌CLI、内存分析、慢日志轻量浏览、增删改查更新活跃度高中等安装命令brew install --cask redisinsightbrew install --cask another-redis-desktop-manager我的观点是新用户直接选RedisInsight功能全、更新稳如果你就是偶尔看一眼key值、不想额外背新工具的快捷键ARDM更轻省。4.2 从安装到连上本地Redis的完整操作先用Homebrew把Redis本体装好并注册成后台服务brew install redis brew services start redisbrew services start redis这条命令很关键它会让redis-server常驻后台并配置开机自启比手动redis-server启动省心很多。启动后可以用redis-cli ping验证返回PONG就说明服务正常。然后再装可视化客户端brew install --cask redisinsight打开RedisInsight新增连接填这几项Host127.0.0.1Port6379Username本地默认没有留空Password本地默认没有留空点连接正常情况下几秒钟就能看到Redis里的key列表。RedisInsight第一次启动时可能会引导你创建一个内置的本地示例数据库那个界面只是一个引导流程不是必须的跳过或者顺手创建都行。4.3 连接踩坑Connection refused与NOAUTH实际连接时最容易遇到两个报错。第一个是Connection refused。看到这个先别怀疑客户端大概率是Redis服务没起来。在终端跑一下brew services list看redis那一行有没有显示started如果显示error或者根本没有运行重新执行brew services start redis。有时候装了Redis但从来没启动过连接当然会被拒绝。第二个是NOAUTH Authentication required。这说明Redis配置了密码认证。打开redis.conf找到requirepass这一行把密码填到客户端的Password字段里。如果你用了Redis 6及以上版本还需要注意ACL机制检查当前连接用户是否有权限执行对应命令。这个报错在本地新装的Redis上不常见但在连公司测试环境时经常遇到记住了能省半小时排查时间。5. Kafka可视化工具Kafka本体先装对UI用Docker跑5.1 Kafka本体安装现状Kafka的可视化工具和Redis不太一样它基本没有“一个dmg下载完就完事”的桌面客户端。大多数人的做法是本机或测试环境有一个Kafka集群然后用一个Web界面去管理topic、查看消息、检查消费组。先别急着装UI你得先确认Kafka本身是否存在。Homebrew里有kafka的formula但Kafka依赖JDK而且历史上Homebrew对Java相关包的维护策略调整过多次。不要照搬两三年前的旧教程去装kafka2.8这种带固定版本号的包先执行brew search kafka看看当前仓库里给出的实际包名是什么然后根据输出决定安装哪个版本。装之前还要确认系统里有没有可用的JDKjava -version如果没有JDK先装一个。Kafka启动了之后接下去才能真正开始用可视化界面。5.2 用Docker跑Kafka UIKafka UI这个项目provectus开源的kafka-ui是目前用得比较顺手的Web界面。我习惯直接用Docker跑因为不污染宿主机环境升级也方便docker network create kafka-net docker run -d --name kafka \ --network kafka-net \ -p 9092:9092 \ apache/kafka:3.7.0 docker run -d --name kafka-ui \ --network kafka-net \ -p 8080:8080 \ -e KAFKA_CLUSTERS_0_NAMElocal \ -e KAFKA_CLUSTERS_0_BOOTSTRAPSERVERSkafka:9092 \ provectuslabs/kafka-ui:latest第一条命令创建一个自定义网络第二条启动Kafka broker宿主机通过localhost:9092访问第三条启动Kafka UI并通过KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS把它指向broker在Docker网络里的服务名kafka:9092。启动完成后浏览器打开http://localhost:8080就能看到集群状态、topic列表和消费组信息。这里最需要注意的坑是KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS不能填localhost:9092。因为kafka-ui容器自己也有独立的网络栈它内部的localhost指向容器自身而不是宿主机上的Kafka。只有把两个容器放在同一个自定义网络里用Kafka容器名kafka作为主机名互相访问才能真正连通。这也是Docker部署里最常见的一类连接问题。5.3 备选Kafdrop如果你只想要一个轻量界面看topic、看消息、看消费组足够不想接触太多配置项Kafdrop是个更简单的选择docker run -d --name kafdrop \ --network kafka-net \ -p 9000:9000 \ -e KAFKA_BROKERCONNECTkafka:9092 \ obsidiandynamics/kafdrop启动后访问http://localhost:9000。和Kafka UI相比Kafdrop界面更克制没有那么多集群维度的高级功能适合快速查看单个topic的消息内容。有人会在网上看到“Kafka Tool”或者“Offset Explorer”那是Windows生态为主的老牌桌面工具macOS下日常使用还是WebUI容器方案更顺手。5.4 连接地址的坑除了容器互联的localhost问题还有一个高频报错场景宿主机上跑着Kafka进程可视化UI却始终连不上。这种情况先查Kafka的advertised.listeners配置。Kafka启动时会向客户端广播一个连接地址如果这个地址配成了容器内部的主机名比如容器ID宿主机上的UI当然连不上。解决办法是让广播地址指向宿主机可访问的localhost:9092或实际内网IP然后再重启Kafka。这个坑和UI无关但排查方向错了会浪费大量时间。记住一条原则客户端和broker不在同一环境时先看广播地址再怀疑工具本身。6. 开发机可视化工具批量部署从单品到Brewfile6.1 数据库和API调试工具清单通过Homebrew下载可视化工具绕不开数据库管理和接口调试这两个刚需场景。我这里列一份日常开发中直接能用的安装清单# 通用的数据库管理客户端支持MySQL、PostgreSQL等多种数据库 brew install --cask dbeaver-community # MySQL专用Sequel Pro的社区延续版 brew install --cask sequel-ace # PostgreSQL专用界面清爽 brew install --cask postico # 开源API调试工具Postman的轻量替代品 brew install --cask bruno # 老牌API调试工具适合团队协作 brew install --cask insomnia安装前建议先执行brew search dbeaver确认当前cask的实际名称因为Homebrew Cask的命名偶尔会调整以仓库里的实时结果为准。DBeaver Community是我最常推荐的一款免费、跨平台、插件体系成熟几乎能连所有主流数据库。如果你只需要MySQLSequel Ace更轻如果你主要做PostgreSQLPostico的界面设计在你打开的一瞬间就会觉得舒服。6.2 用brew bundle管理整个开发环境当你的可视化工具从三五个增长到十几个手动一条条安装就变得很痛苦。Homebrew官方提供了一套Brewfile机制可以把当前环境里所有已安装的formula和cask导出成一份清单之后在任何一台机器上都能一键恢复。导出当前环境清单cd ~ brew bundle dump --file~/Brewfile打开~/Brewfile里面就是类似下面这样的内容tap homebrew/cask cask redisinsight cask dbeaver-community brew redis brew kafka删掉不需要的条目保存。新机器上或重装系统后只需要brew bundle install --file~/Brewfile它会自动把所有条目依序安装好包括需要--cask安装的GUI应用。配合Git管理把Brewfile提交到自己的dotfiles仓库里换电脑的成本能压缩到半小时以内。这是Homebrew最值得投资的一个能力越早建立自己的Brewfile后面每次重装系统就越省事。6.3 新机器一键还原的注意事项brew bundle install执行完之后有几个细节需要自己补。一是brew services start redis这类后台服务Brewfile只负责安装不负责启动需要手动执行一次二是cask安装的GUI应用不会自动打开第一次启动时的权限弹窗该点还是要点三是如果你曾经手动改过redis.conf之类的配置文件Brewfile不会帮你备份迁移时记得把配置目录也纳入同步。把这些细节想清楚Brewfile方案才真正完整。7. 卸载与清理可视化工具的生命周期最后一公里7.1 正确卸载方式 vs 直接拖废纸篓很多人卸载可视化软件的习惯是打开访达把应用图标拖进废纸篓。如果这个软件是用Homebrew安装的这样做会留下后患Homebrew仍然记录着“这个包已安装”的状态下次执行brew upgrade时它会尝试更新一个已经不存在的应用报错No such file or directory甚至导致后续brew命令卡住。正确做法是走Homebrew的卸载流程# 卸载GUI应用 brew uninstall --cask redisinsight # 卸载命令行工具 brew uninstall redis不记得自己装过什么可以先查brew list --cask brew list --formula看到一条记录删一个全部清干净之后Homebrew的包状态和实际系统状态才会一致。7.2 brew autoremove与缓存清理卸载单个包之后它曾经引入的依赖项并不会全部自动清掉。时间一长系统里会积累大量“被某软件当作依赖装进来、但现在没有任何包再需要它”的闲置 library。处理这个问题Homebrew提供了一条非常好用的命令brew autoremove它会扫描所有已安装的包找出不再被任何人依赖的项并自动卸载。我每两三个月跑一次每次都能清掉不少东西。之后再执行brew cleanup --pruneall这一步负责清理Homebrew下载过的旧版本压缩包和缓存文件。注意--pruneall会把所有历史版本缓存全部清除如果你打算之后离线安装某个特定旧版本建议保留这个参数以外的策略日常使用场景下全量清理问题不大。7.3 彻底卸载Homebrew本身的场景如果是整台机器都不想用Homebrew了官方也提供了卸载脚本/bin/bash -c $(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/uninstall.sh)这条脚本同样依赖网络下载如果卡住原理和安装时一模一样按前面的思路处理即可。脚本执行完它会把/opt/homebrew或者/usr/local/Homebrew下的文件删掉但并不会清理你在Shell配置文件里写过的那条eval $(/opt/homebrew/bin/brew shellenv)以及~/Library/Caches/Homebrew、~/Library/Application Support下可能遗留的配置目录。需要手动检查~/.zprofile、~/.zshrc把和Homebrew相关的环境变量行删掉。如果不想跑脚本手动执行rm -rf /opt/homebrew并清理上述路径也能达到同样效果只是要格外小心路径别删错。这里提醒一句卸载就在眼前的时候先回想一下有哪些后台服务是通过brew services托管的。brew services stop和brew services list逐个确认否则Kafka、Redis这些服务进程还在跑单纯删掉安装目录重启后可能出现各种意外行为。最后说一点我自己的实际操作体会。Homebrew安装失败这件事我见过最多的情况不是网络真的完全不通而是慢、超时、断断续续这种场景下镜像变量是性价比最高的解法。另一个印象深刻的教训是很多人装可视化工具时容易忘记cask的存在导致明明已经搜索到正确的包名却因为忘了--cask参数而怎么试都失败。其实只要把Homebrew看成两层——formula管命令行、cask管GUI应用思路就清晰了。再分享一个小技巧不管你是装RedisInsight还是DBeaver装完之后都用brew list --cask记录一下真实的cask名称后面升级、卸载、写Brewfile都用得上。以后再搜“homebrew可视化工具下载”这类词别把它当作一个整体来搜拆成“homebrew 具体工具名”两个词搜索命中率会高得多。
返回列表