CodisLabs / codis

Proxy based Redis cluster solution supporting pipeline and scaling dynamically
MIT License
13.16k stars 2.69k forks source link

安装Codis的时候报错 #317

Closed SeanWang918 closed 9 years ago

SeanWang918 commented 9 years ago

sh /usr/local/codis/bootstrap.sh downloading dependcies, it may take a few minutes... go build -o bin/codis-proxy ./cmd/proxy

github.com/wandoulabs/codis/pkg/proxy/router

src/github.com/wandoulabs/codis/pkg/proxy/router/router.go:460: undefined: utils.Version src/github.com/wandoulabs/codis/pkg/proxy/router/router.go:461: undefined: utils.Compile make: *\ [build-proxy] Error 2

点解?

yangzhe1991 commented 9 years ago

master根目录里有个genver.sh,需要执行下里面的脚本

Sean Wang notifications@github.com于2015年7月14日星期二写道:

sh /usr/local/codis/bootstrap.sh downloading dependcies, it may take a few minutes... go build -o bin/codis-proxy ./cmd/proxy github.com/wandoulabs/codis/pkg/proxy/router

src/github.com/wandoulabs/codis/pkg/proxy/router/router.go:460: undefined: utils.Version src/github.com/wandoulabs/codis/pkg/proxy/router/router.go:461: undefined: utils.Compile make: *\ [build-proxy] Error 2

点解?

— Reply to this email directly or view it on GitHub https://github.com/wandoulabs/codis/issues/317.

Best Regards, 杨哲

spinlock commented 9 years ago

或者直接到 codis 目录下面 执行 make。make 会调用 genver.sh 脚本。

这个脚本的作用是:把 git commit 信息以及 go version 打包到目标输出。

SeanWang918 commented 9 years ago

多谢2位。

现在不报这个错误了,但是又出现了下面的问题:

error: The requested URL returned error: 403 Forbidden while accessing https://github.com/c4pt0r/cfg/info/refs

怎么安装的时候还要依赖github的东西啊?

yangzhe1991 commented 9 years ago

golang的依赖都是需要从github下载代码来编译的。如果对应的机器没有访问权限,可以在本地下载后编译成二进制文件到服务器执行

SeanWang918 commented 9 years ago

可是这个地址确实打不开,404 啊

spinlock commented 9 years ago

那个地址是 git 拉去的地址,项目是在的 https://github.com/c4pt0r/cfg/

SeanWang918 commented 9 years ago

还是不对, 我本机是安装了 go 环境的,我测试 hello.go 是能正常打印出结果的,但是现在还是卡在远程访问git的地方

[root@Redis_Master_02 ~]# cd /usr/local/ [root@Redis_Master_02 local]# go run hello.go hello,world [root@Redis_Master_02 local]# sh /usr/local/codis/bootstrap.sh make: *\ No rule to make target `clean'. Stop. downloading dependcies, it may take a few minutes...

cd /usr/local/codis/src/github.com/c4pt0r/cfg; git pull --ff-only

error: The requested URL returned error: 403 Forbidden while accessing https://github.com/c4pt0r/cfg/info/refs

fatal: HTTP request failed package github.com/c4pt0r/cfg: exit status 1

卡住不动了

yangzhe1991 commented 9 years ago

直接试下 go get github.com/c4pt0r/cfg命令?

yangzhe1991 commented 9 years ago

另外,是否正确的配置了$GOPATH等环境变量?

SeanWang918 commented 9 years ago

我环境变量配置的:

GOROOT=/usr/local/go PATH=$PATH:$GOROOT/bin GOPATH=/usr/local/codis

hello.go 在 /usr/local 目录下 在这个目录下执行 [root@Redis_Master_02 local]# go run hello.go hello,world

是正常的。但是

[root@Redis_Master_02 codis]# go get github.com/c4pt0r/cfg package github.com/c4pt0r/cfg: cannot download, $GOPATH not set. For more details see: go help gopath

环境变量还需要加什么?

yangzhe1991 commented 9 years ago

报错里有$GOPATH not set. 确定在执行go get的时候$GOPATH确实已经设了?echo $GOPATH看看?

SeanWang918 commented 9 years ago

[root@Redis_Master_02 codis]# echo $GOPATH /usr/local/codis

yangzhe1991 commented 9 years ago

$GOPATH是整个机器放所有golang项目的地方,不应该是codis所在的目录吧?

SeanWang918 commented 9 years ago

可我目前只有 codis一个用go的项目啊 ,其他没有用go的项目啊

而且,为什么在 执行 /usr/local/hello.go 又是可以的呢

yangzhe1991 commented 9 years ago

codis依赖很多项目,编译codis的时候就需要其他项目的代码了。直接go run是在任何目录都可以的,但是一旦涉及到依赖,就需要正确设置$GOPATH。见https://golang.org/doc/code.html#GOPATH

SeanWang918 commented 9 years ago

我现在 GOPATH=/home/MyGo [root@Redis_Master_02 codis]# echo $GOPATH /home/MyGo [root@Redis_Master_02 codis]# go get github.com/c4pt0r/cfg package github.com/c4pt0r/cfg: cannot download, $GOPATH not set. For more details see: go help gopath

结果还是一样 , 不明白了 ,到底要怎么配置才能安装

yangzhe1991 commented 9 years ago

没遇到过这种情况……试试非root呢,或者搜下看看有没有人遇到类似的情况