答案是path环境变量未包含cmake命令路径。根本原因是macos终端依赖path查找命令,而dmg安装的cmake命令位于/applications/cmake.app/contents/bin/,该路径未被自动加入path;homebrew安装虽自动配置路径,但若path顺序不当或配置文件未重载,仍会导致command not found。

Mac 上输入 cmake --version 报错 command not found,不是没装好,而是终端根本找不到它——CMake.app 里的命令行工具默认不在系统 PATH 里。
Homebrew 安装:最省心,但得先装 Homebrew
这是目前 macOS 上最主流、最不容易出问题的方式。Homebrew 自动把 cmake 放进 /opt/homebrew/bin(M1/M2/M3)或 /usr/local/bin(Intel),且该路径天然在 PATH 前段。
- 先确认 Homebrew 是否已装:
which brew,有输出就继续;没有就跑官方安装脚本:/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" - 更新索引:
brew update - 装 CMake:
brew install cmake - 验证:
cmake --version,看到版本号即成功
注意:如果之前手动改过 PATH,又恰好把 /usr/local/bin 或 /opt/homebrew/bin 排到了后面,可能被其他旧版 cmake 覆盖。用 which cmake 看实际调用的是哪个路径。
DMG 拖拽安装后手动加 PATH:适合需要 GUI 或离线环境
从官网下载的 .dmg 文件本质是 CMake.app,命令行工具藏在 /Applications/CMake.app/Contents/bin/ 下。不加 PATH,终端永远找不到它。
macOS 微信消息自动化工具。通过 GUI 自动化实现:发送消息给指定联系人、读取聊天内容、监控新消息。适用于需要自动化微信操作的场景,如定时发送、批量回复、消息备份等。依赖 peekaboo 进行屏幕截图和 UI 交互。仅支持 macOS。开源地址:https://github.com/chairmanmia...
- 下载 macOS Universal DMG(支持 M1/M2/M3 和 Intel),挂载后拖进
/Applications - 查 shell 类型:
echo $SHELL,macOS Catalina 及以后默认是zsh,对应配置文件是~/.zshrc;老系统可能是bash,用~/.bash_profile - 追加路径:
echo 'export PATH="/Applications/CMake.app/Contents/bin:$PATH"' >> ~/.zshrc - 生效配置:
source ~/.zshrc - 验证:
cmake --version
常见坑:写错路径(比如漏掉 /Contents/bin)、编辑了错误的 shell 配置文件(zsh 用户改了 .bash_profile)、忘记 source。可以用 echo $PATH | grep CMake 快速确认路径是否已生效。
源码编译安装:可控性强,但容易卡在依赖或权限上
适用于需要定制构建选项(比如禁用 Qt GUI、启用测试模块)、调试 CMake 本身,或系统路径受限时。默认装到 /usr/local,该路径通常已在 PATH 中。
- 先装 Xcode 命令行工具:
xcode-select --install,否则clang和make都没有 - 下载
.tar.gz源码包,解压后进入目录 - 执行:
./bootstrap --prefix=/usr/local --parallel=$(sysctl -n hw.ncpu) - 编译:
make -j$(sysctl -n hw.ncpu) - 安装:
sudo make install
关键点:macOS 的 SIP 机制保护 /usr,所以不能用 --prefix=/usr;/usr/local 是安全选择。如果 bootstrap 报错缺 Python 或 ncurses,说明系统缺少基础依赖,需先 brew install python ncurses。
三种方式互不干扰,但优先级取决于 shell 加载顺序——越靠前的 PATH 条目越先被匹配。如果你同时用了 Homebrew 和 DMG 方式,又没清理旧路径,which cmake 返回的结果可能不是你预期的那个。










