Mac 终端问题通常不难,但很碎:Homebrew completion 报错、zsh 启动提示、MySQL 起不来、NTFS 不能写、SSH 多账号混乱。处理这类问题,最好按“路径、权限、版本、配置、日志”五个维度排查。
zsh completion 报错先找真实路径
compinit 报找不到某个补全文件时,常见原因是 Homebrew 从 Intel 路径迁移到 Apple Silicon 路径后,旧软链还留在 /usr/local/share/zsh/site-functions。
排查思路:
ls /usr/local/share/zsh/site-functions
ls /opt/homebrew/share/zsh/site-functions
brew --prefix
如果旧路径里有失效软链,可以删除旧文件,再让 Homebrew 重新提供正确的 completion。不要一上来重装全部软件,先确认到底是哪个路径失效。
Homebrew services 迁移类提示
有些老提示来自已经废弃或迁移的 tap。处理顺序是:
- 查看提示对应的文件或 tap。
- 确认当前 Homebrew 是否还需要它。
- 不需要时
brew untap或删除失效 completion。 - 再重新打开终端验证。
这类问题通常不是软件本体坏了,而是 shell 启动时加载了旧 completion。
Homebrew 权限问题不要乱改根目录
brew cleanup 或安装软件时报权限错误时,先定位具体目录:
ls -l /opt/homebrew/Cellar
只修复出问题的软件目录,不要粗暴 chown -R 整个系统路径。权限修复后再跑:
brew cleanup
MySQL 起不来先看日志
Mac 上 MySQL 起不来,先找数据目录和日志,不要盲目重装:
ls -l /opt/homebrew/var | grep mysql
常见检查项:
- 数据目录是否属于当前用户。
- 配置文件是否指向了错误版本。
- 当前启动的是
mysql还是[email protected]。 - 端口是否被旧进程占用。
- 日志里是否有权限、数据文件或版本兼容错误。
必要时可以停掉服务后重新启动:
brew services stop mysql
brew services start mysql
NTFS 写入能力要看场景
Mac 读取 NTFS 通常没问题,写入需要额外工具。选择方案时看使用频率:
- 偶尔拷贝文件:用 Windows 机器处理更省心。
- 长期读写移动硬盘:选择稳定的商业 NTFS 工具。
- 临时折腾:可以研究 NTFS-3G,但要接受维护成本。
不要在重要硬盘上先试验不熟悉的驱动方案。
SSH 多账号要分 key 和 host
一台 Mac 同时使用多个 Git 账号时,建议为不同账号生成不同 key:
cd ~/.ssh
ssh-keygen -t rsa -C "[email protected]"
生成时输入新名字,例如:
id_rsa_work
再加入 ssh-agent:
ssh-add id_rsa_work
ssh-add -l
如果是多个 Git 服务或多个账号,最好在 ~/.ssh/config 中配置不同 Host,避免默认 key 混用。
登录和键盘异常要先排除硬件
如果开机后密码输入异常,但按住 Option + 电源键能进入启动盘选择界面,说明键盘不一定整体损坏。可以按顺序排查:
- 接外接键盘确认是否能登录。
- 检查输入源。
- 检查最近系统更新和登录项。
- 如果部分按键手感异常,考虑清灰或硬件检测。
实用结论
Mac 终端问题的关键是别急着重装。先确认路径,再看权限,再看版本和日志。Homebrew、zsh、MySQL、SSH 都是典型的“配置和路径问题多于软件损坏”的场景,按层排查会快很多。




