CentOS上でRevel開発してみよう!と思ったらインストールではまったのでメモ
現象
公式のとおり以下手順で実施
go, git, hgインストール(省略)
mkdir ~/gocode
echo 'export GOPATH=~/gocode' >> ~/.bash_profile
source ~/.bash_profile
go get github.com/revel/revel
返ってこない・・・
ずっとこのままの状態。git clone がうまくいってないような
[root@server ~]# ps -ewf | grep go
root 24409 24377 0 10:33 pts/0 00:00:00 go get -u github.com/revel/revel
root 24575 24409 0 10:34 pts/0 00:00:00 git clone https://gopkg.in/fsnotify.v1 /root/gocode/src/gopkg.in/fsnotify.v1
root 24576 24575 0 10:34 pts/0 00:00:00 git-remote-https https://gopkg.in/fsnotify.v1 https://gopkg.in/fsnotify.v1
root 24580 24576 0 10:34 pts/0 00:00:00 git fetch-pack --stateless-rpc --lock-pack --thin --no-progress https://gopkg.in/fsnotify.v1 efs/heads/master efs/heads/travisci efs/heads/v0 efs/tags/v0.8.06 efs/tags/v0.8.07 efs/tags/v0.8.08 efs/tags/v0.8.09 efs/tags/v0.8.10 efs/tags/v0.8.11 efs/tags/v0.8.12 efs/tags/v0.8.13 efs/tags/v0.9.0 efs/tags/v0.9.1 efs/tags/v0.9.2 efs/tags/v0.9.3 efs/tags/v1.0.0 efs/tags/v1.0.2 efs/tags/v1.0.3 efs/tags/v1.0.4 efs/tags/v1.1.0 efs/tags/v1.1.1 efs/tags/v1.2.0 efs/tags/v1.2.1
原因
gitのバグとのこと。
http://oranie.hatenablog.com/entry/20141104/1415103858
https://github.com/spf13/hugo/issues/297
CentOSのBaseリポジトリ(yum)だとたしかに1.7.1でした。
対応
# yumで入れてたやつ消す
yum remove git
# ソースインストール
yum install -y curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc
wget https://www.kernel.org/pub/software/scm/git/git-2.6.2.tar.gz
tar xzf git-2.6.2.tar.gz
cd git-2.6.2
make prefix=/usr/local all
make prefix=/usr/local install
# 確認
[root@server ~]# git version
git version 2.6.2
[root@server ~]# which git
/usr/local/bin/git
できた!!!!!
[root@server ~]# go get github.com/revel/revel
[root@server ~]# go get github.com/revel/cmd/revel
[root@server ~]# which revel
/root/gocode/bin/revel
[root@server ~]# revel
~
~ revel! http://revel.github.io
~
usage: revel command [arguments]
The commands are:
new create a skeleton Revel application
run run a Revel application
build build a Revel application (e.g. for deployment)
package package a Revel application (e.g. for deployment)
clean clean a Revel application's temp files
test run all tests from the command-line
Use "revel help [command]" for more information.