Ubuntu 18.04 升级 cmake
UNbuntu 自带的apt-get安装工具没有提供高版本的cmake,只能通过源码自己下载安装。
这个是CMake的原始仓库连接 GitHub - Kitware/CMake: Mirror of CMake upstream repository
我们可以提前下载然后长传到linux服务器 或者通过wget命令下载
wget https://github.com/Kitware/CMake/archive/refs/tags/v3.26.4.tar.gz
比如 我将包放在/home/xxx/cmakeSource/ 下
cd /home/xxxx/cmakeSource/
tar -zxvf 相应的报名.tar
cd 解压后的包文件夹中
./bootstrap && make && sudo make install
等待执行cmake的构建和安装
等待安装完成后执行
cmake --version
可能会出现:
~/cmakeSource/CMake-3.23.5$ cmake --version
CMake Error: Could not find CMAKE_ROOT !!!
CMake has most likely not been installed correctly.
Modules directory not found in
/usr/local/share/cmake-3.10
cmake version 3.10.2
CMake suite maintained and supported by Kitware (kitware.com/cmake).
这是因为之前存在一些哈希缓存导致的。
执行
hash -r
`hash -r` 是一个 Shell 内置命令,用于删除当前 Shell 会话中的外部命令的哈希表缓存。在 Shell 中运行外部命令(例如 `ls`, `cd`, `cat` 等)时,Shell 会将这些命令的路径缓存到哈希表中,以便在后续运行相同命令时可以更快地查找到它们。
在某些情况下,例如更改了某个命令的路径或添加了新的命令时,可能需要手动清除哈希表缓存,以便 Shell 可以重新查找和缓存命令的路径。在这种情况下,您可以使用 `hash -r` 命令来清除哈希表缓存。`hash -r` 命令只会清除哈希表缓存,而不会影响已经运行的进程或 Shell 中的其他变量或设置。
然后再次执行
cmake --version则是正确的版本信息
~/cmakeSource/CMake-3.23.5$ cmake --version
cmake version 3.23.5
CMake suite maintained and supported by Kitware (kitware.com/cmake).