web-dev-qa-db-ja.com

「cmake --version」は/ usr / bin / cmakeを指し、「which cmake」は/ usr / local / binを指します

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実行可能ファイルが--versionwhichの効果が異なる場所が正確にわかるので、他の質問とは異なります。

4
kkawabat

github/cmake readme によると:

 You may use the --prefix=<install_prefix> option to specify a custom installation directory for CMake. 

boostrapスクリプトでは、デフォルトのcmakeプレフィックスのインストールが here であることを確認できます。

cmake_default_prefix="/usr/local"

しかし、私はbootstrap --prefix=/usr。私はarchlinuxを使用しているため、Archlinuxがデフォルトのインストールに使用するものを here から使用します。

  ./bootstrap --prefix=/usr \
    --mandir=/share/man \
    --docdir=/share/doc/cmake \
    --sphinx-man \
    --system-libs \
    --qt-gui \
    --parallel=$(/usr/bin/getconf _NPROCESSORS_ONLN)

合理的に見えます。 apt-getパッケージマネージャーとして、それがdebianの場合、cmakeのソースパッケージを here からダウンロードして、ビルドコマンドをどこかに見つけることができます。

0
KamilCuk