ubuntu 更新cmake

ubuntu 更新cmake

卸载命令

bash 复制代码
sudo apt remove cmake
sudo apt purge cmake

但是执行之后,通过 cmake --version 还是可以看到cmake,并没有被卸载。

bash 复制代码
which cmake
# /usr/local/bin/cmake
cmake --version
# cmake version 3.22.1

安装最新cmake

bash 复制代码
sudo snap install cmake --classic
# cmake 4.3.3 from Crascit✓ installed

但此时用 cmake --version 查看还是 3.22.1 版本。

在 Linux 系统中, hash -r命令用于清除 shell 的"命令哈希表"。

hash -r 可以强制 shell 忘记所有缓存的命令路径,这样它就会重新从 $PATH 环境变量中搜索命令。

bash 复制代码
hash -r

再次检查版本,查看还是 3.22.1 版本。

更新环境变量,指定cmake路径

bash 复制代码
echo 'export PATH="/snap/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
cmake --version
# cmake version 4.3.3

这就可以正常显示最新版本了。

若想恢复到之前的版本,可以修改环境变量:

bash 复制代码
echo 'export PATH="/usr/local/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
cmake --version
# cmake version 3.22.1

注意:snap安装的cmake只适配/home下的用户,

下载源码安装

下载地址1:https://cmake.org/files/LatestRelease/

官网地址:https://cmake.org/download/

Github release: https://github.com/Kitware/CMake/releases

  • cmake-4.3.0-linux-x86_64.tar.gz = 预编译二进制包(直接用)
  • cmake-4.3.0.tar.gz = 源代码包(需要自己编译)

官方预编译二进制包

直接下载已编译好的 Linux x86_64 包,解压即用,零编译、零依赖、零权限。

bash 复制代码
# 1. 下载
wget https://cmake.org/files/LatestRelease/cmake-4.3.0-linux-x86_64.tar.gz
wget https://github.com/Kitware/CMake/releases/download/v4.3.0/cmake-4.3.0-linux-x86_64.tar.gz
# 2. 解压
tar -zxvf cmake-4.3.0-linux-x86_64.tar.gz
# 3. 简化目录名
mv cmake-4.3.0-linux-x86_64 cmake
# 4. 添加环境变量
echo "export PATH=$HOME/cmake/bin:\$PATH" >> ~/.bashrc
source ~/.bashrc
# 5. 验证
cmake --version
which cmake

可以将新的cmake替换旧的cmake

bash 复制代码
1、替换已有的cmake,mv命令必须目标路径为空,所以使用rsync -a覆盖已有的。
sudo rsync -a cmake-3.31.6-linux-x86_64/* /usr/
2、查看版本。然后手动删除解压的文件夹
cmake --version

源码编译安装到用户目录

bash 复制代码
# 命令行方式下载
wget https://cmake.org/files/LatestRelease/cmake-4.3.0.tar.gz
wget https://cmake.org/files/v3.23/cmake-3.23.0.tar.gz
wget https://github.com/Kitware/CMake/releases/download/v4.3.0/cmake-4.3.0.tar.gz
# 1、解压
tar -zxvf cmake-3.26.5.tar.gz
# 2、进入文件
cd cmake-3.26.5
# 3、执行文件并指定安装目录,--prefix 可指定安装路径,如 ~/local/cmake
./bootstrap --prefix=/usr/local/cmake
./bootstrap --prefix=$HOME/local  # 安装到 ~/local,无需 sudo
# 4、开始编译
make
# 5、安装
make install
# 6、打开环境配置文件
vim ~/.bashrc
# 7、写入环境  这里是上面指定安装目录的文件地址
export PATH="/usr/local/cmake/bin:$PATH" 
# 8、激活环境
source ~/.bashrc
# 查看版本
cmake --version
# 查看位置
which cmake
相关推荐
律宏阔13 小时前
WSL Docker 端口明明空闲,但就是绑不上端口
linux·windows
律宏阔13 小时前
WSL 突然断网,无法 ping 内网或外网
linux·windows
穷人小水滴13 小时前
用容器编译 VirtualBox 虚拟机软件 (ArchLinux, podman)
linux·容器·virtualbox
乱码三千13 小时前
如何优雅地直连无公网 IP 的远程 GPU 服务器
linux·人工智能·程序员
yunwei3713 小时前
使用 eBPF 跟踪 Nginx 请求
linux·后端·性能优化
yunwei3713 小时前
使用 eBPF 跟踪 MySQL 查询
linux·后端·性能优化
yunwei3713 小时前
eBPF 示例教程:使用 XDP 捕获 TCP 信息
linux·后端·性能优化
judezh13 小时前
api 容器一直 unhealthy?我把一个 Agent 运行时的健康检查逐条拆了,查出四个问题
运维·docker
GeW13 小时前
制造业高端化,为什么必须重估Linux和数据库?
linux
GeW13 小时前
工业场景中的Linux与数据库选型:高端化转型的技术底座
linux