GoBelieve编译过程【centos版】

对照文档

1,安装go,百度之。

2,克隆之。 https://github.com/GoBelieveIO/im_service.git

3,编译proto文件,虽然还不知道是啥,不过,编呗。

FQ?不用的,应该说翻了也没用,FQ之后还需要设置代理什么的,貌似ss中的socks5代理不能代理命令行。

只有一个go get google.golang.org/grpc需要FQ去下,在github上找到替代方案,如下:

进入$GOPATH/src/google.golang.org目录下,没有的话新建之,

git clone https://github.com/grpc/grpc-go.git grpc 【注意改名,虽然不知道不改会怎么样,不想试了,心累】

之后跟着文档走:

go get -u github.com/golang/protobuf/{proto,protoc-gen-go}

export PATH=$PATH:$GOPATH/bin

protoc -Irpc/ rpc/rpc.proto --go_out=plugins=grpc:rpc

此时,提示protoc没有该命令,到$GOPATH/bin/下查看,果然没有,google之。

参考链接:http://lihaoquan.me/2017/6/29/how-to-use-protobuf.html

到https://github.com/google/protobuf/releases下面下载对应版本,我下的linux x86_64.zip,

解压到$GOPATH/bin/,将解压后的bin下的protoc拷贝到$GOPATH/bin/,其他的就可以过河拆桥了。

【小插曲:wget该链接居然无法解析主机,将wifi换成外网就好了,猜测是又有人改动公司的内网了,心塞】

执行protoc -Irpc/ rpc/rpc.proto --go_out=plugins=grpc:rpc,没有报错即是成功。

python -m grpc.tools.protoc -Irpc --python_out=rpc/ --grpc_python_out=rpc/ rpc/rpc.proto

报错:/usr/bin/python: No module named grpc.tools

没有gtpc.tools模块,安装之,

sudo pip install grpcio.tools【注意1:sudo,注意2:grpcio.tools,io别少】

执行python -m grpc.tools.protoc -Irpc --python_out=rpc/ --grpc_python_out=rpc/ rpc/rpc.proto,成功。

4,编译

cd im_service

mkdir bin

go get github.com/bitly/go-simplejson

go get github.com/golang/glog

go get github.com/go-sql-driver/mysql

go get github.com/garyburd/redigo/redis

go get github.com/googollee/go-engine.io

go get github.com/richmonkey/cfg

go get github.com/valyala/gorpc

一切顺利

make install

在bin下生成im ims imr三个可执行文件,【ok】

之后的过程,需要安装mysql以及redis,此处略。

后记【2018.3.28】

由于不知道运行起来是什么样子,所以,也没发现什么问题,但是今天却发现由于grpc是从git上克隆下来,并非使用go get得到的,所以并没有编译安装过

加上编译安装,会引用到其他墙外的包,所以,专门去看了一下关于命令行FQ的东西,发现so easy ,见后续。