答案是PATH环境变量未包含CMake可执行文件路径。这是shell无法定位cmake命令的根本原因,而非未安装;需通过find或where定位实际路径,再将其添加至$PATH(Linux/macOS)或%PATH%(Windows),并新开终端验证。

为什么 cmake --version 报 “command not found”?
不是没装上,而是 shell 根本没找到 cmake 可执行文件在哪。系统只在 $PATH(Linux/macOS)或 %PATH%(Windows)列出的目录里找命令,其他地方一概无视。CMake 安装路径默认未必在这些路径里——尤其是 GUI 安装、源码编译、或某些精简系统镜像。
Linux/macOS 下 PATH 里缺了 cmake 路径怎么办?
先确认 cmake 实际在哪,再把它加进 $PATH:
- 查位置:
find /usr -name cmake -type f 2>/dev/null或ls /usr/local/bin/cmake(常见路径);macOS GUI 安装则通常是/Applications/CMake.app/Contents/bin/cmake - 看当前
$PATH:echo $PATH,确认输出里有没有上面查到的路径 - 临时加(仅当前终端有效):
export PATH="/usr/local/bin:$PATH"或export PATH="/Applications/CMake.app/Contents/bin:$PATH" - 永久生效:把
export行写进~/.zshrc(macOS Catalina+ / 多数新 Linux)或~/.bashrc,然后source ~/.zshrc - 验证:
which cmake应返回路径;cmake --version应正常输出版本号
Windows 上 CMD/PowerShell 找不到 cmake 怎么办?
GUI 安装器默认不勾选“Add to PATH”,这是最常见原因:
- 检查安装时是否勾选了 Add CMake to the system PATH for all users(推荐)或 for the current user
- 手动验证:
echo %PATH%看输出里有没有C:\Program Files\CMake\bin或类似路径(如%LOCALAPPDATA%\Programs\CMake\bin) - 没看到?去“系统属性 → 高级 → 环境变量”,在“系统变量”或“用户变量”的
Path里新增对应bin目录 - 改完必须开**新终端**——旧 CMD/PowerShell 不会自动读取更新后的
PATH - 验证:
where cmake应返回完整路径;cmake --version应成功
Homebrew / apt / yum 安装后还是找不到?
包管理器一般自动处理 PATH,但仍有例外:
- macOS Apple Silicon 用 Homebrew:二进制实际在
/opt/homebrew/bin,该路径需出现在$PATH前段;检查echo $PATH是否含此路径 - Ubuntu/Debian:
sudo apt install cmake后若仍报错,可能因 shell 配置未重载,试source ~/.bashrc或重启终端 - Alpine / Debian-slim 等最小化镜像:
apk add cmake或apt install cmake后,/usr/bin通常已在PATH,但极简镜像可能删了which或env工具,直接/usr/bin/cmake --version可绕过 PATH 查找
最容易被忽略的是:PATH 修改后不新开终端,或者 macOS 用户改了 ~/.zshrc 却忘了 source;Windows 用户写了系统 PATH 却用管理员权限开了 CMD,而 PATH 写在用户变量里——权限和作用域错配,命令照样找不到。


















