CentOSでrevelインストールしようとしたらgo getで固まる

  • 5
    Like
  • 0
    Comment
More than 1 year has passed since last update.

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でした。

対応

gitバージョンアップしてみる
ソース
インストール手順

# 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.