一、网上搜到的方式
CentOS 7 官方仓库默认提供的 CMake 版本较老(2.8.x),无法直接用 yum 安装 3.21。要获得 3.21 版本,只能通过 源码编译安装 或 离线 rpm 包 方式,下面给出最简明的 源码编译流程(已验证 CentOS 7 可用):
# 1. 安装编译依赖
sudo yum groupinstall -y "Development Tools"
sudo yum install -y openssl-devel
# 2. 下载源码包
cd /usr/local/src
sudo wget https://github.com/Kitware/CMake/releases/download/v3.21.2/cmake-3.21.2.tar.gz
sudo tar -zxvf cmake-3.21.2.tar.gz
cd cmake-3.21.2
# 3. 编译并安装
sudo ./bootstrap --prefix=/usr/local
sudo make -j$(nproc)
sudo make install
# 4. 验证
cmake --version # 应输出 3.21.2
完成后,CMake 会被安装到 /usr/local/bin/cmake
,如该目录不在 PATH 中,可执行:
echo 'export PATH=/usr/local/bin:$PATH' | sudo tee /etc/profile.d/cmake.sh
source /etc/profile.d/cmake.sh
若系统为 离线环境,可提前在联网机器下载
cmake-3.21.2.tar.gz
与依赖 rpm(gcc-c++、openssl-devel 等),再拷贝到内网机按同样步骤编译。
亲测:由于要部署的机器上访问不到github,所以无法继续!!!往下看
二、简单有效
真实简单有效,完美解决啊,CentOS 7 可以直接用 yum 安装 CMake 3,但包名叫 cmake3
,不是 cmake
。
一键命令(CentOS 7 实测有效)
# 1. 启用 EPEL 源(如果还没装)
sudo yum install -y epel-release
# 2. 直接安装 CMake 3
sudo yum install -y cmake3
# 3. 验证
cmake3 --version
# 输出示例:cmake version 3.17.5
安装完成后,可执行文件是 cmake3
,需要把命令写成:
cmake3 .
如果你希望继续用老习惯的 cmake
命令,可加个别名:
echo "alias cmake=cmake3" >> ~/.bashrc
source ~/.bashrc
注意
- yum 源里的版本一般是 3.17.x,能满足大多数项目要求,但 不是最新 3.21+。
- 如果项目硬性要求 3.21 及以上,仍需手动下载二进制包或源码编译。
总结:这可能就是信息差吧,不知道的话,费好大劲!