恒美微站 Logo 恒美微站
  • 首页
  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心
  • 联系我们

BrewUI:把Homebrew变成可视化桌面工具的实战指南

  • 首页
  • 资讯中心
  • /
  • BrewUI:把Homebrew变成可视化桌面工具的实战指南

相关资讯

Biome Markdown 格式化器链接标题(Link Title)规范化机制全解析 2026/9/20 22:36:25
PicoClaw 调试指南:从 `--debug` 标志到工具调用日志与 `tool_feedback` 实时反馈 2026/9/20 22:36:25
植物识别全流程:ResNet训练与PyQt5界面部署实战 2026/9/20 22:31:25

最新资讯

Oracle触发过程 date_solar 动态 SQL 异常?用 TaoToken 接入的 Codex 排查
腾讯开源CC实践:从AI供应商统一管理到团队经验自动沉淀
Cline 报 401 invalid_api_key?TaoToken 换 Key 后这样验证
Aider 跑分:TaoToken 当供应商实测 Polyglot 多语言编辑成功率
TabPFN 使用教程:表格分类与回归,从装好环境到出结果只要 1 秒
Draft.js Entity API 完整指南:实体创建、检索、更新与 v0.10 迁移实践

今日推荐

BrewUI:给Homebrew套上图形界面,让macOS软件包管理更简单
BrewUI:让Homebrew包管理变得可视化与高效
公式与文本对齐全攻略:从Word到LaTeX的实用技巧

本周热门

BrewUI:给Homebrew套上图形界面,让macOS软件包管理更简单
BrewUI:让Homebrew包管理变得可视化与高效
公式与文本对齐全攻略:从Word到LaTeX的实用技巧

本月精选

自研推理加速器Redwood:两周内实现PyTorch模型高效部署的实战教程
V4L2摄像头采集实战:从camera_client.rar到出图全流程解析
从“谁发明了钢琴键”到知识问答智能体:RAG与记忆工程实践

BrewUI:把Homebrew变成可视化桌面工具的实战指南

发布时间:2026/9/20 22:36:25
BrewUI:把Homebrew变成可视化桌面工具的实战指南 从被命令行逼疯到可视化收工聊聊 BrewUI 这个把 Homebrew 变成“傻瓜式”的桌面工具如果你平时用 Mac 做开发或者折腾过 Linux 下的软件管理那你大概率已经在用 Homebrew 了。但说实话Homebrew 的命令行交互对很多非专业运维的人来说是有门槛的。刚入门的同学经常不知道 brew search 和 brew install 的区别更别说理解什么叫做“Cleanup”和“Doctor”。我自己带过不少新同事每次看他们对着终端敲 brew 命令时一脸懵的表情我就想这种高频刚需工具为什么没有一个图形化前端后来我发现了 BrewUI。它本质上不是一个新的包管理器而是套在 Homebrew 之上的一层可视化控制界面让你不用记命令、不用看密密麻麻的终端输出也能完成软件安装、更新、卸载、依赖分析和本地服务管理。这篇文章不打算写成官方文档的翻译我想把自己小半年用下来的真实感受、安装踩坑、日常操作习惯以及那些文档里不会写的工作流经验都整理出来分享给你。如果你是那种“能用鼠标绝对不碰键盘”的同学或者刚接触 Homebrew 还在记命令阶段这篇文章应该能帮你省下不少时间。1. 为什么需要 BrewUI命令行包管理器的痛点与图形化价值1.1 Homebrew 本身已经很舒服了为什么还要套一层界面先说清楚一件事Homebrew 的命令行设计得并不差绝大多数高频操作就是 install、update、upgrade、uninstall 这几个命令熟练之后敲起来非常快。那 BrewUI 的价值在哪我的理解是它解决的不是“能不能用”的问题而是“如何让系统里几百个软件包的状态一目了然”的问题。打个比方命令行像是你在仓库里靠手电筒找一件东西你能找到但效率取决于你有多熟悉这个仓库的摆放规则。而 BrewUI 像给了仓库装了一套货架管理系统每个箱子在什么位置、哪些箱子已经过期、哪些箱子和别的东西沾在一起全部用图形化的方式摆在你面前。对于软件数量超过 50 个包、经常需要更新维护的系统来说这种“视图化”带来的效率提升是很明显的。还有一个现实问题是终端输出对新手不友好。brew update 时那串“Already up-to-date”或者 install 时刷屏的下载进度看多了容易让人焦虑。BrewUI 把这些过程拆成进度条和状态标签出错时也直接高亮错误原因解决了很多“不知道该不该等、到底成功没有”的模糊感。1.2 BrewUI 能做什么从装包到排查一网打尽简单列一下 BrewUI 的核心功能先让大家有个整体概念软件包的图形化管理通过界面完成搜索、安装、更新、卸载、清理不用再背命令。依赖关系可视化安装某个包之前可以直观看到它依赖哪些库卸载时也能看到会影响哪些包。全局更新管理一键查看所有可升级的包支持按版本、依赖和更新时间排序决定要不要一次性升级。本地服务管理brew services 命令管理后台服务在 BrewUI 里直接变成开关按钮特别适合维护数据库、消息队列这类常驻服务。系统环境诊断内置 Doctor 检查入口点击就能跑完整检查不用手动敲 brew doctor。这些功能拆开看每一项命令行都能做但组合在一起并可视化后日常维护的节奏就完全不一样了。我原本每月才手动清理一次系统用 BrewUI 之后基本每周都会看一眼“可清理的空间”那个面板顺手就把磁盘空间问题消弭在早期。1.3 适合谁使用不适合谁使用这里我得说几句实话。BrewUI 并不是对所有人群都是“最优解”。如果你是一个天天和终端打交道、对 brew 命令倒背如流、且习惯把所有环境写在脚本里的开发者那直接敲命令的效率反而更高因为 GUI 的点击操作在批量处理上是有天然劣势的。但如果你是下面的某一类人BrewUI 就非常值得试试刚接触 Homebrew还没形成命令行肌肉记忆的新手。需要在一台共享电脑或多台机器上管理大量软件包的运维或开发同学。团队里负责“给非技术人员装环境”“维护公共开发机”的热心人。对命令行有心理门槛但日常又没有太多时间深究包管理细节的普通用户。从我个人角度讲主力开发机上我更倾向命令行而在帮同事处理机器、管理几台共用的 Linux 环境时BrewUI 的图形界面明显更友好出现误操作的概率也会低一些。2. BrewUI 核心能力拆解从界面上理解包管理系统的运行逻辑2.1 仪表盘背后对应的 Homebrew 命令到底是哪些BrewUI 刚启动时你会看到一个类似“仪表盘”的总览页按我的经验理解这一页就等于理解了整个 Homebrew 的核心状态。面板上那几个数字——已安装包总数、可升级包数量、依赖总数、回收站垃圾大小——实际上分别对应几条关键命令已安装包总数brew list 会列出所有“顶层”已安装包BrewUI 会额外统计完整依赖链上的包数量所以你会看到两个数字显示包数和含依赖总数。可升级数量brew update 之后homebrew/core 仓库索引和本地记录做对比就能得出。界面其实是在背后跑了一遍 brew outdated。依赖总数对应 brew deps --tree --installed 的信息汇总图形化为依赖仓库的总节点数。垃圾大小对应 brew cleanup --dry-run 的结果表示可被清理的旧版本安装包和缓存占用的磁盘空间。我刚开始用的时候觉得“可清理垃圾大小”这个数字最有价值。很多同学不知道 brew 安装的软件旧版本不会自动删除时间久了会出现目录里好几个版本的同一个库占用空间很大。每次界面显示“有 1.2GB 可清理”时我一般都会顺手点掉心里感觉很踏实。2.2 依赖图与影响分析卸载前必看的“连带效应”BrewUI 的包详情页里有一个依赖图展示当前包的运行依赖Dependencies和被依赖Dependents。这个功能我特别想多说几句因为它真的能避免很多问题。在命令行里如果直接卸载一个被其他包依赖的库Homebrew 会给出警告并拒绝删除。比如你执行 brew uninstall openssl而系统里还有其他编译好的软件引用它大概率会得到“Error: Refusing to uninstall ... because it is required by ...”这样的提示。以前我遇到这种提示会觉得很烦还得自己去查谁依赖了它。BrewUI 直接把这张关系网摊开你选中一个包页面右侧会显示“有多少个包正在依赖我”点一下还能展开具体名单。这就意味着在卸载前你能做出更有依据的判断如果依赖它的包是核心工具那就保留如果只是某个早已不用的老软件在依赖它你可以先卸载那个老软件再来卸载这个库。对于经常折腾环境的人来说这个“先看关系再动手”的习惯很值得养成毕竟 Homebrew 的依赖关系相对严格踩过坑之后你就会明白乱卸载的代价远比想象中高。2.3 服务管理与启动项从 brew services 到“一个开关”另一块重量级能力是服务管理。很多中间件比如 MySQL、PostgreSQL、Redis、Nginx通过 brew services start 注册成后台常驻服务启动后即使关掉终端服务也会继续运行。BrewUI 把服务管理放进了“Services”页面每个服务对应一个开关按钮、一个状态标签running / stopped / error、以及一个“是否开机启动”的控制项。对我这种经常同时维护 Redis 和 PostgreSQL 的人来说这个页面基本替代了 systemctl 和 brew services 的日常使用场景。需要启动就点一下需要在下次开机时自动拉起就勾选 Run at Login不需要再输入一长串命令。尤其在做本地开发和远程调试的时候偶尔会遇到服务明明启动了但连不上端口的问题。这时候 BrewUI 服务页会直接显示服务进程的启动日志尾部点开就能看到是端口被占用还是配置写错了。这种把日志集成到界面的思路明显是为“不想记 journalctl 命令”的用户准备的。3. BrewUI 安装与首次上手不同平台的实操全流程3.1 在 macOS 上安装 BrewUI 的完整步骤与镜像加速建议安装 BrewUI 之前前提条件是系统已经装好 Homebrew。如果还没装建议先去 Homebrew 官网找当前推荐的一行安装命令安装过程中需要 Xcode Command Line Tools这部分在 macOS 上会稍微久一点耐心等待就好。BrewUI 本身有两种安装方式一种是直接下载官方发布的 dmg 安装包像普通 App 一样拖入 Applications 文件夹另一种是通过 Homebrew 安装桌面应用版本。我个人更推荐从 GitHub Releases 页面下载最新 dmg 包因为桌面应用会自带自动更新检查版本比较新体验也完整。下载之后如果 macOS 提示“无法验证开发者”去系统设置的“隐私与安全性”里点一下“仍要打开”就可以,这是苹果对新分发应用的安全流程和软件本身好坏无关。如果的网络环境下载 GitHub 资源比较慢可以考虑先把 Homebrew 源切换为国内镜像源比如清华、中科大、阿里云的镜像再执行安装。换源的操作不复杂改成镜像地址后 brew update 的速度会有明显改善。这个属于环境基础配置和 BrewUI 本身关系不大但如果你装一半发现下载卡住了先检查这一步。3.2 在 Linux 上安装 BrewUI从空白环境到可用状态BrewUI 的定位虽然是 Homebrew 的图形界面但 Homebrew 本身也支持 Linux也就是 Linuxbrew。我在一台 Ubuntu 22.04 的测试虚拟机里完整跑通过一遍 BrewUI 安装流程整体体验和 macOS 差异不大但有几个细节需要注意。第一步依然是安装 Homebrew。Linux 上安装会有一些依赖要求curl、git、build-essential 等基础工具。建议先把这些包装好避免中途报错。安装完成后需要把 brew 的环境变量导入到交互 shell 的配置文件中否则每次 ssh 登录后 brew 命令会提示找不到。第二步下载 BrewUI 对应的 Linux 包。不同平台对应不同的压缩包注意选择匹配 CPU 架构的版本。如果是 x86_64 架构就选 amd64 版如果是 ARM 架构比如 Apple Silicon 或某些 ARM 服务器再选 arm64 版选错会直接提示无法执行二进制文件。第三步解压并把二进制文件放到合适的位置。比如放到 /usr/local/bin/ 或 ~/.local/bin/赋予执行权限后运行。如果在无桌面环境的服务器上装BrewUI 无法显示图形界面这种情况下不要强行装桌面端直接用浏览器访问它的 Web UI 模式会更合理下面一节会详细说。3.3 第一次启动扫描环境、连通后端、初始化数据库到底发生了什么第一次启动 BrewUI 时你会看到一个初始化向导。这个过程一般要一两分钟看起来非常“忙碌”其实背后做了三件事扫描 Homebrew 安装环境、调用 brew info 和 brew list 构建当前安装快照、把依赖关系图写入本地数据库。我建议第一次初始化时不要中断进程也不要手动去运行 brew update让它一次性把索引建好。索引建完后界面上的包列表会按名称排序显示右侧每个包都带有版本号、安装路径、说明等元数据。如果你之前用命令行装过大量软件这一步能让你第一次直观地看到自己系统里到底堆了多少东西。初始化完成之后还有一个重要动作建议立刻在设置页打开“自动更新索引”的开关。这样后续每次打开 BrewUI它会在后台自动执行 brew update 并刷新包列表不用你在终端里手动做了。3.4 Web 模式与桌面模式怎么选BrewUI 的另一个亮点是支持 Web 模式。你可以在有图形界面的机器上启动服务然后让另一台机器通过浏览器访问这意味着你可以把 BrewUI 跑在一台常开的“管理机”上日常用笔记本浏览器远程管理软件包。桌面模式和 Web 模式在功能上并没有本质区别主要差异在于使用场景。桌面模式适合个人本机使用启动后就是独立窗口和一般应用体验一样Web 模式则适合无头headless服务器或者需要多人协助维护的机器。我个人在管理实验室的几台 Ubuntu 工作站时基本都是 Web 模式因为工作站本身没有接显示器用 SSH 传端口或者直接开放局域网访问都比装桌面环境来得轻松。需要提醒的是如果通过 Web 模式暴露在局域网里务必设置一个强密码或开启访问令牌避免同一网段的其他人发现并连上你的管理端口。这一点在实际使用中非常重要开发机里边还好公司内部网络一旦有人扫端口默认配置很容易暴露。4. 核心功能进阶把 BrewUI 变成日常系统维护的“驾驶舱”4.1 日常三件事更新、升级、清理的正确顺序使用 BrewUI 这段时间我逐渐形成了一套固定的维护节奏。很多新手会一上来就在界面里点“更新全部”让 Homebrew 把几十个包一起升级。这个做法不是不行但没有讲究。我的建议顺序是先看一眼仪表盘上的“可清理空间”做一次清理再跑到“更新”页面把 brew update 先跑一遍让本地索引和远端仓库同步更新完索引后浏览一下“可升级包”列表排除掉不想升级的包比如你正在用的编译工具链然后选择性地升级。最后再回仪表盘看一次“可清理空间”因为升级过程中往往又会产生旧版本的残留这次清理通常还能再释放几百 MB。为什么要花两轮清理因为 Homebrew 升级时下载的新版本不会立刻删除旧版本Keg 目录里会保留旧版本文件。如果你刚好跨了一个大版本升级比如从某个软件的 1.x 升到 2.x旧版本目录能占掉相当大的磁盘空间。BrewUI 的“清理”按钮执行的其实是 brew cleanup --pruneall但在实际使用中升级前后的清理目标不同效果也不同。4.2 按分类浏览与搜索技巧不再只靠 brew searchBrewUI 的包列表支持按分类筛选核心工具core、开发工具dev、GUI 应用cask、语言运行时等。这个分类能力对于某些使用场景格外有意义。比如你在帮团队配一台新机器需要装 Java、Node.js、Python 等一系列开发环境直接去“开发工具”和“语言运行时”分类里逐个看比在终端敲 brew search openjdk、brew search node 这种碎片化搜索要直观得多。搜索功能本身也比命令行丰富一点。命令行 brew search 只能按包名匹配但 BrewUI 支持对描述文本进行模糊搜索。比如你只记得“用来操作图片的库带 magick 字样”在搜索框里输入 magickImageMagick、wand、graphicsmagick 等都会出现在结果里。这种“按语义找包”的方式解决了我很多次“记不清精确包名”的尴尬。4.3 自定义工作流利用 Tag 收藏和批量操作提升效率我把最多时间花在整理上的就是 BrewUI 的“收藏夹”功能。关键字 Tag 可以理解为给包打标签比如“work”“media”“old-projects”。之后你可以基于 Tag 快速筛选出同一类软件然后进行批量更新或批量卸载。批量卸载是很有风险的操作建议只在特定场景下使用比如你确定某一个旧项目不再用了而项目相关的所有依赖都集中在同一批包里。BrewUI 的批量选择比命令行逐个 brew uninstall 要安全因为界面里会直接列出卸载影响范围。我通常会给“旧项目专用环境”打一个 Tag等到项目彻底归档后进入 Tag 视图全选卸载再一次性清理依赖垃圾整个过程不到五分钟。4.4 从“一键装环境”到“环境备份清单”的进阶玩法BrewUI 还有一个常常被忽略的价值它可以导出当前安装包的清单。这个清单本质上类似于 brew bundle dump 生成的 Brewfile只是 BrewUI 帮你把步骤做成了可视化导出。导出的文件可以在新机器上通过 brew bundle install 快速复现同样的环境。我自己的做法是每一、两个月导出一次 Brewfile存到自己的配置仓库里。这样做有两个好处一是换新机器时可以直接“重建”工作环境不需要一个个重新搜索和安装二是某次折腾系统把环境弄崩之后可以快速对比当前安装包和备份清单的差异找到“多出来了什么、少了什么”。4.5 善用 Doctor 面板把环境检查变成日常习惯BrewUI 内置了 Doctor 检查入口点击后会执行 brew doctor 并把警告信息按严重级别展示。很多命令行老手会把 brew doctor 的输出当耳旁风但作为经验之谈每当 Homebrew 行为异常安装老失败、升级报错、链接异常时先跑一次 Doctor 常常能直接定位到问题。我见到过的典型警示包括某些安装包在 PATH 中出现了旧路径某个软件目录的属主不是当前用户Homebrew 自身目录的权限被修改过。这些信息在命令行输出中可能被长长的日志淹没但 BrewUI 会把它单独列成“注意”和“警告”两级观感非常清晰。如果你发现自己系统最近经常出现奇怪的问题养成每周点一次 Doctor 的习惯会很有帮助。5. 常见问题与排查实录真的遇到问题时怎么办5.1 安装慢、卡在下载环节怎么办最常被问到的问题就是“BrewUI 或者 Homebrew 下载太慢卡住不动”。这种情况在 macOS 上多半是 GitHub 资源下载速度不理想导致的。解决方法有两条路一是给终端配置代理让 brew 的下载请求走高速通道二是更换 Homebrew 的安装源到国内镜像站。BrewUI 本身并不能帮你加快下载它只是负责把命令包装成界面。如果你的 brew install 卡在“Updating Homebrew”这个阶段很可能是 git 拉取远程仓库索引时速度太慢。同样建议先换源,换完之后 brew update 会快很多。还有一个小技巧BrewUI 里的下载进度如果长时间不动不要反复点击重试先切到“终端输出”面板看看真实日志能准确判断究竟是在等网络、在等编译还是真的死锁。5.2 报错“另一个 Homebrew 进程正在运行”怎么解决BrewUI 调用 Homebrew 后端时由于同时可能有终端里的 brew 命令在跑有时会提示 lock 冲突。Homebrew 的设计里有个全局锁避免多个进程同时修改安装目录。如果遇到这个提示先去终端执行 brew list 或 brew update 确认是否真的存在其他进程。如果确定没有其他进程但仍然提示锁占用多半是残留的锁文件或者残留的进程导致的。这种情况先去活动监视器或进程列表里搜一下同名进程确认没有残留后再尝试继续绝大多数情况下问题就解决了。不要一上来就强制删锁文件除非你非常确定没有其他安装任务在运行。5.3 打开后包列表为空或加载不全BrewUI 装好后打开一看包列表为空很多人第一反应是“软件坏了”。其实更常见的原因是 Homebrew 安装路径和 BrewUI 预期路径不一致或者当前用户对 Homebrew 目录没有完整读权限。建议先在终端执行 echo $(brew --prefix)看输出路径是否是 /opt/homebrew 或 /usr/local然后在 BrewUI 设置里手动指定这个路径。如果路径没问题但仍然加载不全可以试着重置扫描索引。这个操作一般在设置页的“重置”或“重建索引”里。注意重建索引期间会调用 brew list、brew deps 等命令包多的时候输出量很大耐心等待即可不要中途关闭主进程。5.4 Web 模式连不上端口无法访问在 Linux 工作站上用 Web 模式时最常遇到的问题就是“本机能访问其他机器无法访问”。这通常不是 BrewUI 的锅而是防火墙或监听地址配置的问题。默认监听地址可能是 127.0.0.1也就是只允许本机回环地址访问。如果你希望局域网内其他机器也能访问需要把监听地址改成 0.0.0.0并确保本机防火墙放行了对应端口。改完监听地址之后建议立刻设置访问令牌。BrewUI 支持在配置里开启认证设置一个足够强度的密码避免开放到局域网后被人顺手连上执行安装卸载操作。这个话题我在之前的章节提过但这里必须当成重点再强调一次管理类工具的暴露面越小越好尤其是涉及“自动执行系统命令”的 Web 管理工具。6. 一些值得养成的使用习惯与周边生态联想6.1 日常操作建议把 BrewUI 作为“检查工具”而非“唯一入口”我自己的定位是命令行仍然是我的主操作入口BrewUI 更多承担“检查、诊断、批量操作、可视化分析”的角色。安装一个明确的包时我可能还是会习惯性在终端敲 brew install xxxxx因为命令可以配合其他命令做链式操作。但要了解系统状态、排查升级冲突、管理服务开关、清理垃圾文件时我一定会打开 BrewUI。这个习惯带来的好处是两条腿走路都有保障命令行操作灵活界面操作直观。如果你的命令行基础还比较薄弱那么反过来用 BrewUI 作为主入口遇到问题再到终端去查看底层输出也是很好的学习路径。时间久了你对 Homebrew 之间命令的理解会不知不觉加深界面上某个按钮对应的背后命令行逻辑也会越来越清晰。6.2 与终端命令、自动化脚本的配合思路BrewUI 虽然替换了不少手动场景但它不会阻止你在脚本里使用 brew 命令。我目前的一个习惯是用脚本处理高频重复的安装任务用 BrewUI 处理“需要判断和决策”的更新任务。比如机器初始化脚本里照样写 brew install ...因为这个过程中不需要人去看界面但在月度维护时打开 BrewUI 看哪些包需要升级、哪些依赖会被移除人工确认后再逐个操作避免脚本自动升级导致某个开发工具链出现不兼容。如果你把 Brewfile 导出后纳入了版本管理建议每次用 BrewUI 更新完重要依赖后都重新导出一份清单提交到仓库里。这样你的环境备份是不断更新的真正需要回滚时也有据可查。我见过不少同学只在刚装好机器时导出过一次清单之后就再也不管结果备份里的软件版本和实际系统完全脱节这种备份的意义就非常有限了。6.3 关于 BrewUI 的一些局限与替代思考说句公道话BrewUI 并非没有局限。它目前更偏“管理工具”而不是“包发现工具”。它的搜索、分类虽然比终端友好但和 App Store 这类成熟的应用商店生态相比在“发现好软件”维度上还是有一段距离。另外它对 Homebrew 某些高级参数比如编译期自定义选项、formula 的 build flags的支持并不完整这类操作还是得回命令行完成。如果你需要的是更轻量、面向日常简单操作的方案macOS 上也可以直接使用一些 Homebrew 的菜单栏小工具比如类似“加载项”的第三方工具。但如果你的诉求是系统级、依赖可视化、服务管理一体化BrewUI 目前仍然是开源生态里比较完整的选择。对于团队协作和维护多台机器的场景它比只塞在终端里的 brew 命令更有价值。从我个人实际使用体验来看BrewUI 最大的贡献并不是把 brew 命令变成图形按钮而是让“系统里装了什么、依赖关系如何、能不能安全清理”这种本来需要专业判断的事情变成了一个普通开发者也愿意定期看一眼的内容。这种认知的提升可能比省下的那几分钟操作时间更重要。

关于恒美微站

恒美微站专注于为个体商户、工作室提供极简自助建站服务,让每个人都能轻松拥有专业网站。

快速链接

  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心

服务项目

  • 可视化建站
  • 拖拽编辑
  • 主题定制
  • SEO 优化
  • 网站托管

联系方式

  • 📍 地址:北京市朝阳区建国路 88 号
  • 📞 电话:400-888-8888
  • ✉️ 邮箱:info@hmyw.cn
  • 🕐 时间:周一至周日 9:00-18:00

© 2024 恒美微站 hmyw.cn 版权所有 | 京 ICP 备 12345678 号