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
相关推荐
jieyucx4 小时前
【系统安全铁律】解密 Linux 权限三色数字密码:chmod 最小化赋权与生产环境避坑指南
linux·安全·系统安全·权限·chmod·777
AOwhisky5 小时前
Linux(CentOS)系统管理入门笔记(第四期)——文件系统(下篇):文件与目录操作实战——cpmvmkdirrmln
linux·运维·笔记·centos·云计算·文件系统
岑梓铭5 小时前
考研408《操作系统》复习笔记,第四章《4.2.2 文件操作、文件共享、文件保护》
linux·考研·操作系统·文件系统·408
Mr.HeBoYan5 小时前
DPDK为什么越来越少使用rte_ring?——从Lock-Free到Run-to-Completion,重新理解现代DPDK架构演进(上)
linux·网络·算法·性能优化·架构·dpdk
XTIOT6665 小时前
CRPT 诚实标识采集落地技术实践:分工况硬件选型与合规数据标准化解决方案
大数据·运维·人工智能·嵌入式硬件·物联网
云栖梦泽6 小时前
从 IMX415 摄像头驱动理解 Media Controller 框架
linux·开发语言·c++·嵌入式硬件
纳兰青华6 小时前
CentOS Stream 9 下载与安装完全指南:为什么它是当前最稳妥的选择?
linux
草邦设计开发团队_媒体资源平台6 小时前
Linux 稳定常驻启动 PHP 队列,服务器重启自动恢复
linux·服务器·php·队列执行
想你依然心痛7 小时前
嵌入式容器:Docker与BalenaOS在边缘设备上的实践——容器运行时与OTA
运维·docker·容器
竣达技术7 小时前
NAS / 服务器断电数据丢失?UPS 配套 USB关机保护板,市电断电池低自动提示服务器/电脑关机
运维·服务器·电脑