1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

ちょっと古いバージョンのgit(2.16.6)を(2.26)にアップデートしようとしてハマった

Last updated at Posted at 2020-04-18

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!>自分

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?