1. GO环境安装
源码安装
wget https://dl.google.com/go/go1.10.3.linux-amd64.tar.gz
tar -C /usr/local -xzf go1.10.3.linux-amd64.tar.gz
设置环境变量,
vim /etc/profile
然后把环境变量加入,gopath是工作目录,里面包含3个目录,分别是
- src 存放源代码
- pkg 存放编译好的库文件
- bin 存放可执行文件
export GOROOT=/usr/local/go
export PATH=$PATH:$GOROOT/bin
export GOPATH=/data/go
加入环境变量后要输入source /etc/profile
来使环境变量生效,另外可以通过go env
来查看变量是否设置生效,如下图
2. 安装 Protobuf
安装 Protobuf编译器protoc
上github下载,https://github.com/google/protobuf/releases/tag/v3.6.0
我就直接wget了,下载release版本的话就不需要./autogen.sh
wget https://github.com/google/protobuf/releases/download/v3.6.0/protobuf-all-3.6.0.tar.gz
tar -xvf protobuf-all-3.6.0.tar.gz
./configure --prefix=/usr/local/protobuf
------------
报错:
1. no acceptable C compiler found in $PATH的报错,直接yum install gcc
2. configure: error: C++ preprocessor "/lib/cpp" fails sanity check,解决:
yum install glibc-headers
yum install gcc-c++
------------
make
make check
make install
装完记得加上环境变量
export PATH=$PATH:/usr/local/protoc
安装 goprotobuf 提供的 Protobuf 插件protoc-gen-go
直接一条命令,顺便安装到$GOBIN下,就是gopath的bin目录下
go get -u github.com/golang/protobuf/protoc-gen-go
另外需要设置下环境变量,不然安装在bin目录下的也执行不了
vim /etc/profile
export PATH=$PATH:$GOPATH/bin
安装micro的扩展插件protoc-gen-micro
go get github.com/micro/protoc-gen-micro
测试一下
按官方demo写了个协议,跑一遍试试
生产命令
protoc --proto_path=$GOPATH/src:. --micro_out=. --go_out=. greeter.proto
然后就生成成功了,pb的文件是具体声明数据结构的和各个数据的操作。而micro那个文件则是框架本身再封装一层,service去调用的。
PS:
- 我make check的时候时候似乎有报错,但安装又是成功的
- 生成的文件多了3个参数,这个好像是用来对旧版本协议兼容,不影响实际使用的
3. etcd安装
晚点补充,然后下篇先记下protobuf的写法。再下篇就建一个完整的go-micro的简单demo,跑一遍