CentOS7のyumでインストールされるGitは1.xxとか古くてlinuxbrewのインストールでエラーが出て進まないので最新のGitをインストールする話。
まずは
# yum remove git
で古いのを消しておく。
次に
バイナリをダウンロード
https://mirrors.edge.kernel.org/pub/software/scm/git/
ここでインストールしたいバージョンの場所をコピーしておく
# cd /usr/local/src # wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.29.2.tar.gz # tar xvzf git-2.29.2.tar.gz # rm -rf git-2.29.2.tar.gz # cd git-2.29.2/ # make prefix=/usr/local all # make prefix=/usr/local install
これで
# git --version git version 2.29.2
よしよし。
ところが
$ which git /usr/local/bin/git
をHomebrewのスクリプトが見つけてくれない。
PATH=/usr/local/bin/git:$PATH
としても駄目なので
# ln -s /usr/local/bin/git /usr/bin/git
としてやってどうにかインストールできた。
追記
さらにエラーが出たときの対処
$ sudo make prefix=/usr/local all GIT_VERSION = 2.29.2 make: curl-config: コマンドが見つかりませんでした * new build flags GEN command-list.h GEN config-list.h CC fuzz-commit-graph.o /bin/sh: cc: コマンドが見つかりません make: *** [fuzz-commit-graph.o] エラー 127 $ sudo yum install curl-devel $ sudo yum install gcc $ sudo make prefix=/usr/local all ........ 致命的エラー: expat.h: そのようなファイルやディレクトリはありません コンパイルを停止しました。 $ sudo yum install expat-devel