Warning: Trying to access array offset on value of type bool in /home/koheizi/everything-beginner.com/public_html/programmer/wp-content/themes/luxeritas/inc/json-ld.php on line 114

エックスサーバーでgitを使う

少し前にVPSのサーバーからエックスサーバーのレンタルサーバーに移行したのですが、
当然、レンタルサーバーだと使えるコマンドに制限が出てきます。

で調べてみるとgitがありません。
う〜ん。何かとgitは使う機会がありそうだということで入れてみました。

とはいうものの、当然、rootやsudoはレンタルサーバーだと使えないのでyumでインストールは無理です。
ということで、今回は、gitをソースからインストールすることにしてみました。

まずは、インストール場所を作成して移動。
[xxxx@sv0000 ~]$ mkdir -p local/src
[xxxx@sv0000 ~]$ cd local/src
で次にgitのソースコード取得。
[xxxx@sv0000 src]$ wget https://git-core.googlecode.com/files/git-1.9.0.tar.gz
--2016-01-08 22:31:35-- https://git-core.googlecode.com/files/git-1.9.0.tar.gz
...
2016-01-08 22:31:37 (3.91 MB/s) - `git-1.9.0.tar.gz' へ保存完了 [4839724/4839724]
[xxxx@sv0000 src]$

 

その後、圧縮ファイルを展開。
[xxxx@sv0000 src]$ tar zxvf git-1.9.0.tar.gz
...
[xxxx@sv0000 src]$
展開したフォルダに移動してコンパイル環境構築
[xxxx@sv0000 src]$ cd git-1.9.0
[xxxx@sv0000 git-1.9.0]$ ./configure --prefix=$HOME/local
...
/bin/sh: msgfmt: command not found
make: *** [po/build/locale/bg/LC_MESSAGES/git.mo] エラー 127
[xxxx@sv0000 git-1.9.0]$

あれ?なんかエラーが出ている。。。

なんか、msgfmtとかいうのがないみたいだ。
どうやら、ググってみるとgettextとかいうライブラリをとってこないといけないようだ。
う〜ん。面倒だ。

gettextをインストールしてみる。
[xxxx@sv0000 src]$ wget http://ftp.gnu.org/pub/gnu/gettext/gettext-0.19.5.tar.gz
...
[xxxx@sv0000 src]$ tar zxvf gettext-0.19.5.tar.gz
...
[xxxx@sv0000 src]$ cd gettext-0.19.5
[xxxx@sv0000 src]$ ./configure --prefix=$HOME/local
...
[xxxx@sv0000 src]$ make install

と、なんとかコンパイルできたようだ。ちなみに最新のgettext-0.19.7を使うとなぜかうまくいかないので
少しバージョンを落としてやってみたらうまくいった。

で、再度、gitのコンパイル環境構築に挑戦!!
あれ?うまくいかない!
う〜ん。何か忘れていないか。。。チッ、チッ、チッ、ポーン!

そうだ!! gettextのライブラリにパスが通っていない。
ということで、パスを通しました。

.bash_profileに以下を追加
export PATH=$PATH:$HOME/local/bin
ということでもうgitに一度挑戦。
[xxxx@sv0000 git-1.9.0]$ ./configure --prefix=$HOME/local
...
[xxxx@sv0000 git-1.9.0]$ make
...
[xxxx@sv0000 git-1.9.0]$ make install
...
[xxxx@sv0000 git-1.9.0]$
最後にgitがちゃんと入ったか確認。
[xxxx@sv0000 git-1.9.0]$ git --version
git version 1.9.0
[xxxx@sv0000 git-1.9.0]$

ふう、なんとか最底辺でも出来たようです。
なんか、今日は疲れた。やっぱり慣れないことはするもんじゃないですね。

では。