コマンドラインからcmakeの最新バージョンをインストールするにはどうすればよいですか?


87

私はcmakeLinuxボックスに最新のものをインストールしようとしていますが、常に以下の例外が発生しています-

userName@phx5qa01c-4e23:~/build$ wget http://www.cmake.org/files/v2.8/cmake-2.8.11.tar.gz
--2013-10-08 14:39:55--  http://www.cmake.org/files/v2.8/cmake-2.8.11.tar.gz
Resolving www.cmake.org... 66.194.253.19
Connecting to www.cmake.org|66.194.253.19|:80... failed: Connection timed out.
Retrying.

--2013-10-08 14:40:17--  (try: 2)  http://www.cmake.org/files/v2.8/cmake-2.8.11.tar.gz
Connecting to www.cmake.org|66.194.253.19|:80... failed: Connection timed out.
Retrying.

--2013-10-08 14:40:40--  (try: 3)  http://www.cmake.org/files/v2.8/cmake-2.8.11.tar.gz
Connecting to www.cmake.org|66.194.253.19|:80...

常に再試行しています...

私がここで何をしているのか誰でも知っていますか?または、Linuxボックスに最新バージョンのcmakeをインストールするより良い方法はありますか?

userName@phx5qa01c-4e23:~/build$ uname -a
Linux phx5qa01c-4e23 2.6.35-22-server #33-Ubuntu SMP Sun Sep 19 20:48:58 UTC 2010 x86_64 GNU/Linux

接続をブロックしているファイアウォールはないのですか?なぜ使用してwget?Webブラウザーを使用して、そのファイル(cmake.org/files/v2.8/cmake-2.8.11.tar.gz)をダウンロードしてみてください。
エリックカルヴァ

ここに同様の質問:askubuntu.com/questions/610291/…良い答えがあります。
楕円ビュー

あなたの質問は「Linuxに最新のcmakeバージョンをインストールする方法」だと思いますが、コマンドsudo apt-get install cmakeは最新バージョンをインストールしません。
Teocci

回答:


23

おそらくwww.cmake.orgのサーバーは非常に忙しかったでしょう。再試行するか、Webブラウザーを使用してファイルをダウンロードできます。

ただし、もっと簡単な方法があります。

sudo apt-get install cmake

更新:コメント者は、「Ubuntu 12.04はv2.8.7のみを出荷しています」「14.04はまだ2.8を出荷していますと指摘しています。それには理由があります:12.04と14.04はUbuntuのLTSリリースです。LTSリリースは5年間安定することを目的としているため、パッケージの最新リリースではなく、セキュリティと重要な更新のみを受け取ります。通常のリリースは6か月ごとにリリースされるため、最近のcmakeでリリースされる可能性が高くなります。


3
ubuntu 12.04は、apt-getでv2.8.7のcmakeのみを出荷しています。バージョン2の現在のリリースは2.8.12です。ソースからビルドすることをお勧めします。
リチャードホッジズ14年

52
これは正しい答えではありません。最新バージョンは、apt上にはほとんどありません。
センジャイ

3
14.04まだ2.8を出荷
ストラス

4
この答えは間違っています。StableReleaseUpdatesポリシーがありませんただLTSのリリースのために。Ubuntuのすべてのリリースは、実際にリリースされると、セキュリティの脆弱性またはその他の重大なバグの修正のみを取得します。ここ(およびLaunchpad)に示すように、非LTSリリースでさえ新しいcmakeバージョンを受け取っていません。一部のパッケージには個別のバックポートが存在します(ただし、存在しませんcmake)。
エリアケイガン

10
sudo apt-get install cmakeそれ自体でcmakeは、新しいバージョンにアップグレードしないため、この答えは間違っています。これは、Ubuntuリリースでは機能しません。あなたの答えが実際に「Ubuntuシステムを新しいリリースにアップグレードする」である場合、それをより明確にするために再度編集することができます。(それは多くのユーザーにとって合理的な解決策ではありませんが、多くの場合、リポジトリの最新バージョンがリポジトリにあるUbuntuのリリースバージョンはありませんcmake。)
Eliah Kagan

160

最も一般的な状況は、最新バージョンのcmakeをインストールしたいが、オペレーティングシステムのリポジトリが更新されない場合です。たとえば、私の場合、Ubuntu 16.04を実行しているラップトップがあり、コマンドを実行したときにsudo apt install cmakeインストールされたバージョンは3.5.1でした。代わりの3.15.4での現在のバージョンであるcmake.org

最新バージョンを入手するにはどうすればよいですか?

さて、次のいずれかの方法でインストールできますバイナリファイルのビルドとインストールまたは使用

A.ビルドとインストール(推奨)

A-1。以下を使用して、Ubuntuのパッケージマネージャーおよび構成によって提供されるデフォルトバージョンをアンインストールします。

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

または:

sudo apt purge --auto-remove cmake

A-2。行く公式CMakeのウェブページ、そして最新バージョンをダウンロードし、解凍します。次のコマンドでversionbuild変数を更新して、目的のバージョンを取得します。

version=3.15
build=4
mkdir ~/temp
cd ~/temp
wget https://cmake.org/files/v$version/cmake-$version.$build.tar.gz
tar -xzvf cmake-$version.$build.tar.gz
cd cmake-$version.$build/

A-3。次を実行して、抽出されたソースをインストールします。

./bootstrap
make -j$(nproc)
sudo make install

A-4。新しいcmakeバージョンをテストします。

$ cmake --version

の結果cmake --version

cmake version 3.15.X

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

B.バイナリファイルを使用する(cmake-guiうまく機能しない)

B-1。A-1のように、Ubuntuのパッケージマネージャーが提供するデフォルトバージョンをアンインストールします。

B-2。行く公式CMakeのウェブページダウンロードしてインストールし、最新.shバージョンの中でopt/cmake。次のコマンドでversionbuild変数を更新して、目的のバージョンを取得します。

version=3.15
build=4
mkdir ~/temp
cd ~/temp
wget https://cmake.org/files/v$version/cmake-$version.$build-Linux-x86_64.sh 
sudo mkdir /opt/cmake
sudo sh cmake-$version.$build-Linux-x86_64.sh --prefix=/opt/cmake

B-3。これを実行して、インストールされたバイナリリンクを追加し/usr/local/bin/cmakeます。

sudo ln -s /opt/cmake/bin/cmake /usr/local/bin/cmake

B-4。A-4のcmakeように新しいバージョンをテストします。

注意

3.15.X Xは、私たちがビルドとして定義されたバージョンの最後の部分を表しています。cmakeが更新されると、ビルドが変更される場合があります。公式Webページによると、最新リリースは3.15.4です。以前のリリース3.14.7が必要な場合は、次のようにバージョンとビルドパラメーターを置き換えるだけです。

version=3.14
build=7

14
make installコマンドにはルート権限が必要です。cmakeはデフォルトで/ usr / bin /ではなく/ usr / local / bin /にインストールされるため、cmake --versionコマンドは新しいターミナルを開いた後にのみ機能します。
HD189733b

@Teocci、私は長い間さまざまな方法でこれを試みましたが、あなたの決定だけが私を助けました。どうもありがとう!!!)))))))
neo

この答えがあなたを助けてくれてうれしいです。幸せなコーディングと最高の。
Teocci

2
これはUPDATEの解決策ではなく、cmakeのインストールです。このコマンドを試すか、解決策を見つけるためにそれをグーグル:sudo apt-get remove cmake cmake-data
Teocci

1
cmake-guiツールもビルドすることに注意してください。--qt-guiをbootstrapコマンドに追加します。
リチャードホワイトヘッド

41

まず、以前にインストールしたcmakeパッケージをアンインストールします。次に:

  1. http://www.cmake.org/download/にアクセスして、最新の.shインストーラーをダウンロードします

  2. (たとえば)をopt/cmake実行してインストールします

    sudo mkdir /opt/cmake
    sudo sh <installer filename> --prefix=/opt/cmake
    
  3. cmake binディレクトリをパスに追加します:https : //askubuntu.com/a/170240/359343

この方法でインストールするとcmake-gui、少し恐ろしく見えます。修正する方法を見つけた場合は、この回答を自由に編集してください。


7
/ usr / local / bin / cmakeからインストールされたバイナリへのリンクを追加します。この方法では、PATHを変更する必要はありません。 sudo ln -s /opt/cmake/bin/cmake /usr/local/bin/cmake
クリスチャン

2
これが最良の答えです。
SuB

3
本当に、これは最初の質問のために最も有用な答えである
amigo421

これにより、壊れたcmake-guiが得られます。これはxRDPでは機能せず(以前のバージョンでは機能していました)、xRDPがサーバーにアクセスする唯一の方法です。
stiv

@stiv 1. cmakeインストールが機能した後、cmakeパスに他のバージョンがないことを確認しましたか?2.古いバージョンではなく、インストールで提供されるcmake-guiを使用しているかどうかを確認できますか?(バージョンを知るには--version、コマンドラインに追加します)
アントニオ

23

誰かがdockerイメージに最新のCMAKEをインストールする必要がある場合に備えて(私のように..)。この場合は3.7.2ですが、すでに指摘したようにhttps://cmake.org/download/で確認できます

#install latest cmake
ADD https://cmake.org/files/v3.7/cmake-3.7.2-Linux-x86_64.sh /cmake-3.7.2-Linux-x86_64.sh
RUN mkdir /opt/cmake
RUN sh /cmake-3.7.2-Linux-x86_64.sh --prefix=/opt/cmake --skip-license
RUN ln -s /opt/cmake/bin/cmake /usr/local/bin/cmake
RUN cmake --version

3
素晴らしい、文書化されていない--skip-licenseオプション:)
4LegsDrivenCat

14

次の方法が気に入っています。最近のバージョンを手間をかけずに入手できるからです。

キットウェアは、ピップホイールのリリースを公式にサポートしているようです。したがって、次の操作を行うだけで最新のcmakeを取得できます。

pip install --upgrade cmake

それについてのブログはこちらです:https : //blog.kitware.com/cmake-python-wheels/


6

キットウェアには、現在Ubuntu 16.04および18.04をサポートするAPTリポジトリがあります

インストール手順:

  1. 古いバージョンのcmakeを削除します

    sudo apt purge --auto-remove cmake
    
  2. 署名キーのコピーを取得します

    wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | sudo apt-key add -
    
  3. ソースリストにリポジトリを追加します

    a。Ubuntu Bionic Beaver(18.04)の場合

    sudo apt-add-repository 'deb https://apt.kitware.com/ubuntu/ bionic main'
    

    b。Ubuntu Xenial Xerus(16.04)の場合

    sudo apt-add-repository 'deb https://apt.kitware.com/ubuntu/ xenial main'
    
  4. 更新とインストール

    sudo apt update
    sudo apt install cmake
    

4

次を実行することもできます。

export fn=/tmp/cmake.sh && ls $fn && (echo "use previous $fn? Enter for yes, ctrl+d for no." && read) || (wget -O $fn http://www.cmake.org/files/v3.0/cmake-3.0.2-Linux-i386.sh 1>&2) && (cd /opt && sudo bash ${fn} && echo sudo ln -f -s /opt/cmake*/bin/cmake /usr/local/bin/cmake && cd -)

このスクリプト

  • このセッションで既にダウンロードされている場合、fetches make 3.0.2 **、インストールを完了していない場合は再利用できます
  • 次に、binへのリンクコピーし ますcmake

3

Dockerコンテナーの場合、最適な実行

RUN wget -qO- "https://cmake.org/files/v3.12/cmake-3.12.1-Linux-x86_64.tar.gz" | \
  tar --strip-components=1 -xz -C /usr/local

必要に応じて、バージョンを調整します。


2

次を使用して古いバージョンを削除します。

apt-get purge cmake

cmaketarball にアーカイブされたバイナリバージョンをダウンロードします。に新しいバージョンを使用cmakeするには、binディレクトリパスをに追加し$PATHます。別の解決策は、tar.gzパッケージを抽出し、抽出後に作成されたディレクトリに移動して、次のコマンドを実行することです。

cp -r bin /usr/
cp -r doc /usr/share/
cp -r man /usr/share/
cp -r share /usr/

2番目の方法は、.debパッケージが行うインストールプロセスと同じです。


1

多くの最新バージョンが存在するバックポートからcmakeの最新バージョンをインストールします。特定のバックポートは、現在のOSバージョンによって異なります。たとえば、Debian Stretchを実行して、次を/etc/apt/sources.listに追加します

deb http://ftp.debian.org/debian stretch-backports main

次に、このバックポートからインストールします:

sudo apt-get -t stretch-backports install -y cmake

0

cmakeの最新バージョンは、snapで見つけることができます。たとえば、この回答を書いている時点で、cmakeの最新バージョンは3.15.3で、snapのバージョンは3.15.2です。

sudo apt-get purge cmake
sudo snap install cmake --classic

0

snapを使用するqwrの答えは良い場合がありますが、さらに新しいものが必要な場合、cmakeはソースからDEBを簡単に構築できます。以下では、最近インストールされたcmakeがあることを前提としています。Ubuntu 18.04のaptインストールcmakeはここで確実に動作します。

sudo apt-get build-dep cmake
git clone http://www.cmake.org/cmake.git
cd cmake
git tag
# find the highest tagged release value (hint, rarely at the bottom)
git co tags/<highest tagged release value>
mkdir build
cd build
cmake ..
cmake --build .
cpack -G DEB
# you built a single deb that has what Ubuntu provides as two debs, the binary
# deb and the additional architecture independent data files
sudo apt remove cmake-data
sudo dpkg -i cmake-<highest tagged release value>-Linux-x86_64.deb
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.