"cmake --version" 指向 /usr/bin/cmake 而 "which cmake" 指向 /usr/local/bin

kka*_*bat 17 linux path cmake

我正在尝试在我的 linux 计算机上升级 cmake。这是我使用的命令。

删除旧的 cmake:

sudo apt purge --auto-remove cmake
Run Code Online (Sandbox Code Playgroud)

https://cmake.org/download/下载并解压 cmake-3.13.3.tar.gz

然后在提取的 cmake 文件夹中:

./bootstrap
make 
sudo make install 
Run Code Online (Sandbox Code Playgroud)

当我这样做的时候cmake --version它回来了

bash: /usr/bin/cmake: No such file or directory
Run Code Online (Sandbox Code Playgroud)

这表明 .cmake 中不存在 cmake 可执行文件/usr/bin。但是当我运行which cmake它返回

/usr/local/bin/cmake
Run Code Online (Sandbox Code Playgroud)

这确实存在。

我如何将命令cmake指向/usr/local/bin/cmake

我的$PATH节目

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

编辑:与另一个问题不同,因为我确切地知道 cmake 可执行文件在哪里--version并且which具有不同的效果。

小智 31

在 bash 中,您可以使用hash -r它来忘记以前执行的命令的所有记住的位置。


kka*_*bat 12

事实证明,我需要退出外壳才能产生效果。一旦我启动了一个新的 shell 终端 cmake --version 就可以了。


小智 7

在 /usr/bin 中创建符号链接对我有用:

sudo ln -s /usr/local/bin/cmake /usr/bin/cmake
Run Code Online (Sandbox Code Playgroud)