我正在尝试在我的Linux电脑上升级cmake。这是我使用的命令。
删除旧的cmake:
sudo apt purge --auto-remove cmake
从https://cmake.org/download/下载并解压cmake-3.13.3.tar.gz。
然后在解压后的cmake文件夹中:
./bootstrap
make
sudo make install
当我运行 cmake --version
时,它返回
bash: /usr/bin/cmake: No such file or directory
这表明/usr/bin
中不存在cmake可执行文件。 然而,当我运行which cmake
时,它返回
/usr/local/bin/cmake
确实存在。
如何让我的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
的效果不同。
which
命令输出和通过可执行文件名运行实际程序的区别意味着在您的情况下cmake
是一个 别名。例如,参见 Unix&Linux 上的这个问题:https://unix.stackexchange.com/questions/85249/why-not-use-which-what-to-use-then 您需要删除该别名以使cmake
引用其实际位置。该问题不特定于cmake
,因此与 编程 无关。 - Tsyvarevwhich
与command -v
的讨论。还有相关的如何“hash -r”并刷新所有shell?和何时使用bash重新散列$PATH中的可执行文件? - jww