Deepflow environment 配置
Server
1.Install Golang
1.1 wget https://golang.google.cn/dl/go1.19.5.linux-amd64.tar.gz
1.2 sudo tar -C /usr/local/ -xzf go1.19.5.linux-amd64.tar.gz
1.3 cd /usr/local/
1.4 echo $PATH
1.5 sudo nano $HOME/.profile
1.6 source .profile
2.Install Protobuf-compiler
dnf install -y protobuf-compiler
3.Set Proxy
go env -w GO111MODULE=on go env -w GOPROXY=https://goproxy.cn,direct
4.Make Begin->cd /server make
4.1 缺protoc-gen-gofast 解决办法->go install github.com/gogo/protobuf/protoc-gen-gofast@latest
4.2 ## 然后会出现 github.com/gogo/protobuf/gogoproto/gogo.proto: File not found.关闭代理(export GO111MODULE=“off”),然后执行
4.3 go get github.com/gogo/protobuf(这一步因为网络问题,可能会出问题,多尝试几次即可)
4.4 ## 紧接着会出现 protoc-gen-gogo: program not found or is not executable.
4.5 执行go install github.com/gogo/protobufprotoc-gen-gogo@latest
4.6 ## 然后会出现缺tmpl的错误,执行
4.7 go install github.com/benbjohnson/tmpl@latest
4.8 ## 接下来会出现缺少ujson包的问题,这一步需要使用python3 的pip3 install ujson,也是为什么建议使用Fedora,因为Centos系统太老,只有python2,python2->pyhton3这一步如果使用centos会很麻烦!
4.9 dnf install python3-pip
4.10 pip3 install ujson
总结:一路下来应该是没问题了,最终成功编译效果如下图(没有报错)
tips:上述过程中涉及到的 protoc-gen-gogo、tmpl包经过go get后会自动生成在go/bin,但还需要将其分别添加到对应的 /usr/local/bin下才可以生效,以我个人环境为例如下图