1.安装go环境
下载安装包—go1.16.6版本
wget https://storage.googleapis.com/golang/go1.16.6.linux-amd64.tar.gz
解压
sudo tar -xzf go1.16.6.linux-amd64.tar.gz -C /usr/local
新建工作目录gopath,例如:/go/gopath
gopath下新建三个空目录 bin src pkg
配置环境变量
sudo gedit ~/.bashrc
在文件最后添加
export GOPATH=/go/gopath
export GOROOT=/usr/local/go
export PATH=$GOPATH/bin:$GOROOT/bin:$PATH
生效
source ~/.bashrc
重新打开终端验证
go version
go version go1.16.6 linux/amd64
2.安装protoc
下载安装包:https://github.com/protocolbuffers/protobuf/releases
ubuntu64位使用:protoc-3.17.3-linux-x86_64.zip
解压
unzip protoc-3.17.3-linux-x86_64.zip
配置protoc
sudo cp protoc/bin/protoc /bin/protoc
验证
protoc --version
libprotoc 3.17.3
3.安装protoc-gen-go
# 下载
git clone https://github.com/golang/protobuf.git
# 进入目录
cd protobuf/protoc-gen-go
# 编译
go install
进入你写的proto文件目录,然后就能编译proto文件了
protoc --go_out=./ *proto
4.其他坑:
4.1 go install 会显示 golang.org 访问不了
例如
golang.org/x/crypto@v0.0.0-20190325154230-a5d413f7728c: Get "https://proxy.golang.org/golang.org/x/crypto/@v/v0.0.0-20190325154230-a5d413f7728c.mod":dial tcp 216.58.200.49:443: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
则使用以下命令设置goproxy(将镜像改为国内的)goproxy配置:
go env -w GOPROXY=https://goproxy.cn
4.2 install时 报go1.10.4 编译不了 go1.16.6
例如:
compile: version "go1.16.6" does not match go tool version "go1.10.4
问题原因:
我刚开始直接使用ubuntu命令:sudo apt-get install golang 默认安装的是1.10的
可使用第一步安装go环境重新装下