XserverでGitの最新版を使う

XserverでGitを使おうとしましたが、バージョンがかなり古かったので、最新版を使う方法を調べました。

インストールされているバージョン

$ which git
/usr/bin/git

$ git --version
git version 1.8.3.1

この時点での最新版は 2.13.1 なので、かなり古いですね。

最新のGitをインストー

レンタルサーバーはアクセス権が限定されているため、Gitのソースファイルからインストールすることにします。

参考: Git - Gitのインストール

依存ライブラリーの確認

Gitのページには、

Gitをインストールするためには、Gitが依存するライブラリーである、curl、zlib、openssl、expat、libiconvを入手する必要があります。

とあるので、依存ライブラリーを確認します。

$ yum list curl zlib openssl expat gettext
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
インストール済みパッケージ
curl.x86_64                     7.29.0-35.el7.centos                   @base
expat.x86_64                    2.1.0-10.el7_3                         @updates
gettext.x86_64                  0.18.2.1-4.el7                         @anaconda
openssl.x86_64                  1:1.0.1e-60.el7_3.1                    @updates
zlib.x86_64                     1.2.7-17.el7                           @base
利用可能なパッケージ
expat.i686                      2.1.0-10.el7_3                         updates
zlib.i686                       1.2.7-17.el7                           base

libiconv ではなく gettext にしているのは間違いではないです。 Gitのページのコマンド実行例に習いました。

※Xserverはyumコマンドが使えるので、RedHat系なんですかね。

すべて入っているようなので、このまま進めてみます。

最新版のソースを取得

以下のページで最新版のファイル名を確認します:

Index of /pub/software/scm/git/

ダウンロードします。(以降、ファイル名の部分を該当するものに変更してください。)

$ wget https://www.kernel.org/pub/software/scm/git/git-2.13.1.tar.gz
ファイルを展開してインストー

$HOME/opt にインストールします。

$ tar zxf git-2.13.1.tar.gz
$ cd git-2.13.1
$ ./configure --prefix=$HOME/opt
$ make all
$ make install

Gitのページに書かれている手順ですぐに make all するとうまくいかなかったので、その前に ./configure しました。

$ ~/opt/bin/git --version
git version 2.13.1

インストールできました。

パスを設定

インストールしたバージョンが優先的に使用されるよう、~/.bashrc にパスを設定します。

export PATH=$HOME/opt/bin:$PATH
$ source .bashrc
$ which git
~/opt/bin/git

以上で完了です。