CMake没有纯在线安装模式,实际是通过包管理器拉取预编译包自动部署:Windows用winget install Kitware.CMake;Linux用apt/dnf/yum(版本常过旧);新版需手动下载解压并配置PATH。

cmake 没有真正意义上的“在线安装”——它不支持像 pip install 那样边下载边执行的纯在线模式。所谓“在线安装”,实际是指通过包管理器从远程仓库拉取预编译二进制包并自动部署,全程无需手动下载、解压、配置 PATH。
Windows 上用 winget 安装 cmake(最接近“在线”)
winget 是 Windows 10/11 内置的命令行包管理器,所有操作都走微软官方源,一步到位:
- 运行 PowerShell(管理员非必需,但推荐)
- 执行:winget install Kitware.CMake
- 安装完成后自动把 cmake.exe 加入系统 PATH
- 验证:cmake --version 应立即返回版本号(如 cmake version 3.29.8)
注意点:
- 如果提示
winget command not found,说明未启用或版本过旧,先运行winget --version确认;若失败,去 Microsoft Store 更新“App Installer” - 不要混用
winget和choco安装同一工具,PATH 冲突可能导致调用错版本 -
winget默认安装的是最新稳定版,不提供指定版本选项(如想装3.27.9就得换方式)
Linux 上 apt/yum/dnf 安装 cmake(依赖仓库版本)
Ubuntu/Debian 执行:sudo apt update && sudo apt install cmake
CentOS/RHEL 8+ 执行:sudo dnf install cmake
RHEL 7/CentOS 7 执行:sudo yum install cmake但要注意:
- 系统仓库里的
cmake版本普遍偏低(例如 Ubuntu 22.04 默认是3.22.1,而当前最新稳定版是3.29.x) - 若项目
CMakeLists.txt中写了cmake_minimum_required(VERSION 3.28),就会报错:CMake Error at CMakeLists.txt:1 (cmake_minimum_required): CMake 3.22.1 or higher is required - 此时不能靠
apt upgrade cmake解决,必须手动升级(见下一条)
Linux/macOS 手动在线安装新版 cmake(绕过仓库限制)
本质是“下载 + 解压 + 软链”,但可一行命令完成(以 Linux x86_64 为例): - 下载并解压最新版(替换 URL 中的版本号):wget -qO- https://github.com/Kitware/CMake/releases/download/v3.29.8/cmake-3.29.8-linux-x86_64.tar.gz | sudo tar -C /opt -xzf -
- 创建软链接:sudo ln -sf /opt/cmake-3.29.8-linux-x86_64/bin/cmake /usr/local/bin/cmake
- 验证:cmake --version关键细节:
-
/opt是标准第三方软件安装目录,比/usr/local更干净,避免和源码编译冲突 - 不要直接覆盖
/usr/bin/cmake,否则可能破坏系统包依赖 - macOS 用户可用
curl -L替代wget,并注意下载-macos-universal或-macos12后缀的包
真正容易被忽略的是:无论哪种方式,安装后都要确认终端新开一个窗口再测 cmake --version —— PATH 变更在当前 shell 里不一定生效,尤其 Windows 的 winget 和 Linux 的 sudo ln 都需要新会话加载。


















