前書き
XREA でサーバをお借りしたが、gitが入ってなかったので、導入しました。途中いろいろと詰まったので、やったことを記録しておきます。エラーが全て解消されたわけではないのですが、とりあえず使えるようにはなりました。
最初にやったこと「普通にソースを入手して手動コンパイル」
以下は失敗したコマンド。成功?したコマンドは、「原因と修正」を参照
$ wget --no-check-certificate https://www.kernel.org/pub/software/scm/git/git-2.11.0.tar.gz
$ tar zxf git-2.11.0.tar.gz
$ cd git-2.11.0/
$ ./configure --prefix=$HOME/local
$ gmake
$ gmake test
$ gmake install
やっていること
- $HOME/local/src にgitのソースを引っ張ってくる
- 展開
- コンパイル&インストール
最後にgit version
とかして入っていそうだったので、安心してしまいました、、
error箇所
gitを導入した翌日に、github上においてあるvimrc等の設定ファイルをcloneしようとすると次のようなエラーメッセージが表示されました!
$ git clone https://github.com/USERNAME/DIRNAME.git
$ fatal: Unable to find remote helper for 'https'
$ Clone of ‘https://github.com/USERNAME/DIRNAME.git’
原因と修正
色々とググってみたところ、原因は
どうやらcurl-develパッケージが存在しないために、curl をリンクできていないようです。
なので、curl-develを導入
$ wget --no-check-certificate https://curl.haxx.se/download/curl-7.52.1.tar.gz
$ tar zxf curl-7.52.1.tar.gz
$ cd curl-7.52.1
$ ./configure --prefix=$HOME/local
$ gmake
$ gmake install
こっからgitをもう一回コンパイルし直しました!
$ cd $HOME/local/src/git-2.11.0/
$ ./configure --prefix=$HOME/local --with-curl
$ gmake
$ gmake test
$ gmake install
未解決の問題
これで、大丈夫かと思ったのですが、今度はこういうエラーが出るようになりました、、。
$ unable to get local issuer certificate
調べてみると原因はSSL証明書が古いせいっぽいのですが、よく分かりませんでした。ともかく、ca-bundle.crtに新しい証明書を追加すれば良さそう。ということで、ca-bundle.crtを探していたのですが、どこにも見つからなかった( ;∀;)
暫定的対処
仕方なく、今回は以下の暫定的対処でしのいでおります。
$ git config --global http.sslVerify false
ちなみに、お察しの通り、wget
するときも当然エラーになるので、こちらは --no-check-certificate
オプションで逃げています。さっさと解決して、この気持ち悪い状態を抜けたい、、
疑問
gitを導入するだけで、だいぶ大変だったのですが、途中で色んな疑問がわいたので、ここにメモして後から調べていこうと思います。
-
./configure
とかgmake
とか、何となくは分かるけど、何をしているのかをしっかり理解したい -
make
とgmake
ってどう違うんだ?1 - curl-develの導入って、要はcurlをlocalにインストールしてるだけなんだけど、それだったら最初から
--with-curl
オプションを付けてビルドしてればよかった? - 普通って、どういうところにインストールするんだろ?ずっと
sudo apt
とかでやってきたから意識したことが無かった、、
たくさん勉強すべきことがありますね。にゃ~ん
参考資料
-
gitの導入
-
CA証明書について
更新記録
- 1月8日 記事の投稿&細部の修正
- 1月8日 markdown修正
- 1月9日 markdown修正