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下才可以生效,以我个人环境为例如下图