yumで何気なく入れたgitのバージョンが2.16で、それが原因と思われる不具合があったので(結果的にはこのバージョンの不具合ではなくgitが複数入っていたせい?)、最新のgitをインストールしようとしたらいろいろハマったので共有。
Vagrant Sandbox で元に戻して作業しながらメモする。
#現在のバージョンを確認
$ git --version
git version 2.16.6
とりあえず、これはyumで入れたのでサクッと削除する。
$ sudo yum -y remove git
complete!
終わり。
一応確認。
$ git --version
git version 2.16.6
あら???まだgitコマンドは使える。
消え切っていない。
#インストール済みのパッケージの一覧を見てみる
$ yum list installed | grep git
crontabs.noarch 1.11-6.20121102git.el7 @anaconda
git216-core.x86_64 2.16.6-2.el7.ius @ius
git216-core-doc.noarch 2.16.6-2.el7.ius @ius
linux-firmware.noarch 20190429-72.gitddde598.el7 @base
net-tools.x86_64 2.0-0.25.20131004git.el7 @base
git216おる・・・?
なんで?とりあえず消えていただく。。
$ sudo yum -y remove git216-core.x86_64
complete!
再度確認。
$ yum list installed | grep git
crontabs.noarch 1.11-6.20121102git.el7 @anaconda
linux-firmware.noarch 20190429-72.gitddde598.el7 @base
net-tools.x86_64 2.0-0.25.20131004git.el7 @base
いなくなった。
#gcc等のインストール
$ sudo yum install -y gcc curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-ExtUtils-MakeMaker
Comlete!
実はこの状態で先に進めていくと、インストールは正常に終了するが、完了後gitのバージョンが「1.8.3」になるという現象に遭遇し、なんでやろう?と悩んだ。
現段階で再びインストール済のパッケージを見ると
$ yum list installed | grep git
crontabs.noarch 1.11-6.20121102git.el7 @anaconda
git.x86_64 1.8.3.1-21.el7_7 @updates
linux-firmware.noarch 20190429-72.gitddde598.el7 @base
net-tools.x86_64 2.0-0.25.20131004git.el7 @base
となぜか「git.x86_64」が入っている。おそらく依存関係で必要なのだと思うが、それがあると2.26が入らない、、、のか、入るのだがこの「1.8.3」が優先されて、意味が分からない状態になる。(分かる人が見れば全然意味が分からなく無いのかもしれないが・・・)
ということで消す。
$ sudo yum -y remove git.x86_64
Complete!
再度確認
$ yum list installed | grep git
crontabs.noarch 1.11-6.20121102git.el7 @anaconda
linux-firmware.noarch 20190429-72.gitddde598.el7 @base
net-tools.x86_64 2.0-0.25.20131004git.el7 @base
消えた。
あとは、他記事にたくさん出てくる通り。
#git(2.26)をソースからインストール
$ wget https://www.kernel.org/pub/software/scm/git/git-2.26.1.tar.gz
$ tar -zxf git-2.26.1.tar.gz
$ cd git-2.26.1
$ make prefix=/usr/local all
$ sudo make prefix=/usr/local install
$ sudo ln -s /usr/local/bin/git /usr/bin/git
$ git --version
git version 2.26.1
GJ!>自分