在Ubuntu中如何指定CMake的安装位置?

4

我已经下载了cmake-3.11.3-Linux-x86_64.sh文件。然后我执行了它,它创建了一个文件夹,在那里有一个bin文件,里面有cmake。我尝试像这样编辑/etc/environment

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/m/FILES/CMake/cmake-3.11.3-Linux-x86_64/bin"

但是当我尝试使用这个命令时:

cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..

我收到了以下信息:

程序“cmake”当前未安装。您可以通过输入以下命令进行安装:sudo apt install cmake

请问我哪里做错了,应该如何修复?
3个回答

5

我假设您已经从CMake的下载页面下载了脚本。如何使用它的文档确实有点稀少。

简而言之,调用以下命令(此处CMake的安装路径为/usr/local):

# sudo cmake-3.11.3-Linux-x86_64.sh --skip-license --exclude-subdir --prefix=/usr/local

注意: 首先需要卸载已安装的任何包管理器中的CMake软件包

# sudo apt remove cmake
# sudo apt purge --auto-remove cmake

选项

该脚本具有以下选项:

# cmake-3.11.3-Linux-x86_64.sh --help
Usage: cmake-3.11.3-Linux-x86_64.sh [options]
Options: [defaults in brackets after descriptions]
  --help            print this message
  --version         print cmake installer version
  --prefix=dir      directory in which to install
  --include-subdir  include the cmake-3.11.3-Linux-x86_64 subdirectory
  --exclude-subdir  exclude the cmake-3.11.3-Linux-x86_64 subdirectory
  --skip-license    accept license

你正在寻找的是--prefix=dir。否则它会只使用当前目录来提取安装文件。 在Ubuntu上的测试输出
# cmake-3.11.3-Linux-x86_64.sh --skip-license --exclude-subdir --prefix=/usr/local
CMake Installer Version: 3.11.3, Copyright (c) Kitware
This is a self-extracting archive.
The archive will be extracted to: /usr/local

Using target directory: /usr/local
Extracting, please wait...

Unpacking finished successfully

# cmake --version
cmake version 3.11.3

CMake suite maintained and supported by Kitware (kitware.com/cmake).

参考 / 替代方案


我不得不使用“# sudo bash cmake…”而不是“# sudo cmake…”,这是我在进行一些模式匹配后才发现的。这个答案中是否有错别字,还是我疯了? - Brian Dohler

2

不要手动安装CMake
请让apt来处理它。

只需回滚您所做的任何更改。
在终端上键入sudo apt install cmake即可。

这样,您就可以使用CMake了,因为apt会处理所有依赖项安装和环境变量设置。

希望这能帮到您。


谢谢,但它将安装哪个版本的CMake? - Hasani
这取决于代码库。 很可能是最新的版本。 如果您想检查,请运行“cmake --version”。 - Muhammad Iliyas
你知道我可以使用哪个命令在安装前搜索Repo以查找将要安装的版本吗? - Hasani
$ apt-cache madison cmake 或 $ apt-cache policy cmake - Muhammad Iliyas
结果是CMake 3.5.1版本,比我想要安装的版本早6个版本。但正如你建议的那样,我会安装它,并希望它能正常工作。 - Hasani
好的 :)
https://www.cyberciti.biz/faq/debian-ubuntu-linux-apt-get-aptitude-show-package-version-command/
更多阅读资料.
- Muhammad Iliyas

0

以下是升级cmake到最新版本或下载cmake的步骤:

情况1:我已经在我的电脑上安装/下载了cmake,但我想要升级它。

  1. 如果您之前已经在电脑上安装/下载了cmake,则需要先将其删除:
sudo apt remove cmake
sudo apt purge --auto-remove cmake

情况2:我的电脑上从未安装过cmake,但我想下载它并且我想要最新版本。

  1. 直接进行第二步。

cmake网站下载二进制分发包,例如:cmake-3.25.1-linux-x86_64.sh 在步骤2中安装二进制分发包的目录内运行以下命令(为了简单起见,假设我将已下载的文件重命名为cmake.sh):
sudo sh cmake.sh --prefix=/usr/local/ --exclude-subdir
  1. 运行以下命令检查是否已安装:
cmake --version

上述步骤不需要您修复路径等问题,这些都是简单的步骤,您可以随时执行以下载最新版本的cmake。

来源:


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接