Remote Development with VS Code が発表されました、大変便利そうなので早速試そうと、Vagrant で起動している CentOS 7 へ SSH でアクセスするように設定してみました。が、Git 2.0 以降をインストールしてねと表示されてしまったので、さてどうやってインストールしようかなと確認したメモ。Source から自前で compile して入れるのではなく yum で入れたいなと。
The Software Collections ( SCL ) Repository と IUS Community Project が候補となるようです。SCL はインストール先がちょっと特殊で使いづらいので IUS かな。
IUS
IUS の git をインストールするには先に標準 repository から入れている git を削除する必要があります。
CentOS 7
sudo yum -y install https://centos7.iuscommunity.org/ius-release.rpm
sudo yum -y remove git git-*
sudo yum -y install git2u
CentOS 6
sudo yum -y install https://centos6.iuscommunity.org/ius-release.rpm
sudo yum -y remove git git-*
sudo yum -y install git2u
SCL
SCL の package をインストールするためにはまず centos-release-scl package で repository を追加する。
sudo yum -y install centos-release-scl
するとインストール可能な複数のバージョンがみつかる。CentOS 7 では centos-sclo-sclo
repository に sclo-git25
(git-2.5.0) と sclo-git212
(git-2.12)、centos-sclo-rh
repository に rh-git218
(git-2.18) と rh-git29
(git-2.9) と git19
(git-1.9.4) がありました。
しかし、SCL は使い方が面倒。rh-git218 を入れたとすると次のように scl enable
を使う
$ scl -l
httpd24
rh-git218
$ scl enable rh-git218 "git --version"
git version 2.18.1
scl enable rh-git218 bash
とすれば環境変数のセットされた状態の bash が起動するが、あまりやりたくない。セットされる環境変数はこれ。
$ cat /opt/rh/rh-git218/enable
export PATH=/opt/rh/rh-git218/root/usr/bin${PATH:+:${PATH}}
export MANPATH=/opt/rh/rh-git218/root/usr/share/man:${MANPATH}
export PERL5LIB=/opt/rh/rh-git218/root/usr/share/perl5/vendor_perl${PERL5LIB:+:${PERL5LIB}}
export LD_LIBRARY_PATH=/opt/rh/httpd24/root/usr/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
source scl_source enable rh-git218
を .bashrc とかに書くこともできるけど、うーむ… (scl_source には “Don’t use this script outside of SCL scriptlets!” とコメントが書いてある)
というわけで、IUS の git を入れるのが便利。