参考にさせて頂いたページ
CentOS6.5にGitをソースコードからインストールする
Git on CentOS6.2 ( ソフトウェア ) - 猿ジニアの備忘録 - Yahoo!ブログ
CentOSに標準インストールされている古いgitのバージョンを最新版にあげる方法 - 手が震えたらBARに行こう
まず前提として
"vagrantその12 yumでgitをインストールする"は不要だったみたい。
vagrant sshでログイン
まずsshログインして、管理者権限でログイン
vagrant ssh
su
vagrant(パスワード)
gitのインストールに必要なパッケージを前もってインストールしておく
まずはじめにyumで
をインストールしておく必要がある。
Git - Gitのインストールのページに書いてあるものだと、perl-ExtUtils-MakeMaker
が足りない。
CentOSに標準インストールされている古いgitのバージョンを最新版にあげる方法 - 手が震えたらBARに行こうを参考にしつつ、
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-ExtUtils-MakeMaker
を実行すると6個インストールできる。
ここからの手順は
CentOS6.5にGitをソースコードからインストールする
を参考に進めた。
yumでインストールした古いバージョンのgitをアンインストール
sudo yum remove git
gitのソースコードを取得
cd /usr/local/src/
で移動して
wget https://www.kernel.org/pub/software/scm/git/git-2.1.0.tar.gz
を実行してgit-2.1.0.tar.gz
をダウンロード
tar xzvf git-2.1.0.tar.gz
を実行して、この場所に解凍
ls
すると
git-2.1.0 git-2.1.0.tar.gz
と表示されたので、解凍されたことがわかる。
cd git-2.1.0
設定ファイルを作成
./configure
コンパイル
make
コンパイルされたものをインストール
make install
git --versionしてみる
bash: /usr/bin/git: そのようなファイルやディレクトリはありません
と表示された。
gitがどこにインストールされているのか確認する
何回か
cd ../
をやって、最上位のディレクトリまで移動する。
そこで
find ./ -name git
を実行したら/usr/local/bin/git
にインストールされていることがわかった。
シンボリックリンクを作成する
ln -s /usr/local/bin/git /usr/bin/git
を実行すると、/usr/bin/git
から/usr/local/bin/git
へのリンクが作成される。
再度git --versionを実行する
git --version
を実行したら、ようやく
git version 2.1.0
と表示された。
不要なファイルを削除する
cd /usr/local/src/
で移動する。
rm -rf git-2.1.0
rm -f git-2.1.0.tar.gz
で削除する。
これで完了。
ここから下は、誰かが私と同じ感じでハマっていたら参考になるといいなと思うので書き残しておく。
ハマっていたこと
make
を実行したときに
/usr/bin/perl Makefile.PL PREFIX='/usr/local' INSTALL_BASE='' --localedir='/usr/local/share/locale'
Can't locate ExtUtils/MakeMaker.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at Makefile.PL line 3.
BEGIN failed--compilation aborted at Makefile.PL line 3.
make[1]: *** [perl.mak] エラー 2
make: *** [perl/perl.mak] エラー 2
というエラーが出た。
Git on CentOS6.2 ( ソフトウェア ) - 猿ジニアの備忘録 - Yahoo!ブログ
によるとどうやら
yum -y install perl-ExtUtils-MakeMaker
を実行して、perl-ExtUtils-MakeMaker
をインストールしていないといけなかった。
ちょっと疑問に思っていること
CentOSに標準インストールされている古いgitのバージョンを最新版にあげる方法 - 手が震えたらBARに行こう
にあるような、
./configure --prefix=/usr/local/
make prefix=/usr/local all
make prefix=/usr/local install
のようなprefix付けた方が良いのかな?
とか、そうだとして
のように、
./configure –prefix=/usr/local
のときは付けた方が良くて、
make
make install
のときはいらないのかな?
これを上手くやれば、シンボリックリンクの設定は不要だったのかもしれない。