對照文檔
1,安裝go,百度之。
2,克隆之。 https://github.com/GoBelieveIO/im_service.git
3,編譯proto文件,雖然還不知道是啥,不過,編唄。
翻牆?不用的,應該說翻了也沒用,翻牆之后還需要設置代理什么的,貌似ss中的socks5代理不能代理命令行。
只有一個go get google.golang.org/grpc需要翻牆去下,在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得到的,所以並沒有編譯安裝過,
加上編譯安裝,會引用到其他牆外的包,所以,專門去看了一下關於命令行翻牆的東西,發現so easy ,見后續。