直接下载官方.sh脚本安装最稳妥,因不依赖系统库、无需root、版本明确可控;apt安装版本老旧(如ubuntu 22.04仅3.22),无法支持fetchcontent_declare等现代语法,且与系统工具链耦合易冲突。

直接下载官方 .sh 自解压脚本安装是最稳妥、最常用的方式,不依赖系统库、不需 root 权限、版本明确可控。
为什么不用 sudo apt install cmake
Ubuntu 22.04 自带 cmake 3.22,20.04 是 3.16,18.04 甚至只有 3.10 —— 这些版本无法解析 FetchContent_Declare、cmake_language 等现代语法,报错常是 CMake Error: The source directory does not appear to contain CMakeLists.txt,其实根本不是路径问题,而是版本太低被静默拒斥。
- 包管理器更新滞后,Kitware 官方 PPA(如
deb https://apt.kitware.com/ubuntu/ focal main)虽能提供较新版本,但维护节奏不稳定,2026 年部分镜像已不可靠 -
apt安装会写入/usr/bin,和系统工具链耦合,多项目协作或 CI 场景下容易冲突 - 真正需要的不是“装上”,而是“用对版本”——项目
cmake_minimum_required(VERSION 3.27)就必须跑 3.27+,否则configure阶段直接失败
cmake-*.sh 脚本安装实操步骤
以当前最新稳定版 cmake-3.29.2-linux-x86_64.sh 为例(x86_64 架构),全程用户目录操作,无 sudo:
- 下载:
wget https://github.com/Kitware/CMake/releases/download/v3.29.2/cmake-3.29.2-linux-x86_64.sh - 加执行权限:
chmod +x cmake-3.29.2-linux-x86_64.sh - 安装到家目录:
./cmake-3.29.2-linux-x86_64.sh --prefix=$HOME/cmake --skip-license - 注入
PATH:echo 'export PATH=$HOME/cmake/bin:$PATH' >> ~/.bashrc && source ~/.bashrc - 验证:
which cmake应输出/home/xxx/cmake/bin/cmake,cmake --version显示3.29.2
注意:.sh 是静态链接二进制,运行不依赖 libssl 等系统库;别用已停更的 curl -sSL https://cmake.org/install/ | sh,该脚本自 2025 年起不再维护。
遇到 command not found 或版本没更新?检查这三处
常见现象是敲了 cmake --version 还是旧版,或提示找不到命令 —— 大多不是安装失败,而是环境没生效:
-
type -a cmake查是否多个版本共存(比如/usr/bin/cmake和$HOME/cmake/bin/cmake同时存在),PATH顺序决定优先级 -
ls -l $(which cmake)看软链实际指向哪,确认是不是你刚装的那个bin目录 -
source ~/.bashrc后仍无效?试试exec bash或换终端,Zsh 用户要改~/.zshrc而非.bashrc
最易忽略的是 shell 配置文件没 reload,或者误把 export PATH=... 写进了错误的配置文件里。











