确保执行了:Linux服务器配置
安装 Go 的编译环境步骤比较简单,你只需下载源码包、设置相应的环境变量即可。具体步骤如下。
- 下载安装包。
可以从 Go 语言官方网站下载对应的 Go 安装包以及源码包,下面的命令会下载 go1.17.2 安装包:
$ wget https://golang.google.cn/dl/go1.17.2.linux-amd64.tar.gz -O /tmp/go1.17.2.linux-amd64.tar.gz
- 解压并安装。
执行以下命令解压并安装Go编译工具和源码:
$ mkdir -p $HOME/go
$ tar -xvzf /tmp/go1.17.2.linux-amd64.tar.gz -C $HOME/go
$ mv $HOME/go/go $HOME/go/go1.17.2
- 配置$HOME/.bashrc文件
你可以执行以下命令,将下列环境变量追加到$HOME/.bashrc文件中。
$ tee -a $HOME/.bashrc <<'EOF'
# Go envs
export GOVERSION=go1.17.2 # Go 版本设置
export GO_INSTALL_DIR=$HOME/go # Go 安装目录
export GOROOT=$GO_INSTALL_DIR/$GOVERSION # GOROOT 设置
export GOPATH=$WORKSPACE/golang # GOPATH 设置
export PATH=$GOROOT/bin:$GOPATH/bin:$PATH # 将 Go 语言自带的和通过 go install 安装的二进制文件加入到 PATH 路径中
export GO111MODULE="on" # 开启 Go moudles 特性
export GOPROXY=https://goproxy.cn,direct # 安装 Go 模块时,代理服务器设置
export GOPRIVATE=
export GOSUMDB=off # 关闭校验 Go 依赖包的哈希值
EOF
- 测试是否安装成功
如果你执行 go version
命令可以成功输出 Go 的版本,就说明 Go 编译环境安装成功。具体命令如下:
$ bash
$ go version
go version go1.17.2 linux/amd64
这里我们再来安装 protobuf 的编译器 protoc
。protoc
需要 protoc-gen-go
插件来完成 Go 语言的代码转换,因此我们需要安装 protoc
和 protoc-gen-go
这 2 个工具。它们的安装方法比较简单,具体分为以下两步:
- 安装 protobuf
$ cd /tmp/
$ git clone --depth=1 https://github.com/protocolbuffers/protobuf
$ cd protobuf
$ ./autogen.sh
$ ./configure
$ make
$ sudo make install
$ sudo ldconfig
$ protoc --version # 查看 protoc 版本,成功输出版本号,说明安装成功
libprotoc 3.18.1
在执行autogen.sh
脚本时,如果遇到以下错误:
configure.ac:48: installing './install-sh'
configure.ac:109: error: required file './ltmain.sh' not found
configure.ac:48: installing './missing'
benchmarks/Makefile.am: installing './depcomp'
conformance/Makefile.am:362: warning: shell python --version 2>&1: non-POSIX variable name
conformance/Makefile.am:362: (probably a GNU make extension)
conformance/Makefile.am:372: warning: shell python --version 2>&1: non-POSIX variable name
conformance/Makefile.am:372: (probably a GNU make extension)
parallel-tests: installing './test-driver'
autoreconf: automake failed with exit status: 1
可以通过以下命令配置libtoolize
,并再次运行autogen.sh
来解决:
$ libtoolize --automake --copy --debug –force
$ ./autogen.sh
- 安装
protoc-gen-go
$ go install github.com/golang/protobuf/protoc-gen-go@latest
当你第一次执行 go install
命令的时候,因为本地无缓存,需要下载所有的依赖模块,所以安装速度会比较慢,请你耐心等待。