GoLang环境搭建

GoLang安装

创建go安装目录

mkdir /usr/local/go
cd /usr/local/go

下载安装包

wget https://dl.google.com/go/go1.13.12.linux-amd64.tar.gz
# 其他版本: https://golang.org/dl/

解压

tar -zxvf go1.13.12.linux-amd64.tar.gz
mv go go1.13.12

创建软链

ln -s /usr/local/go/go1.13.12/bin/go /usr/local/bin/go
ln -s /usr/local/go/go1.13.12/bin/gofmt /usr/local/bin/gofmt

检查是否安装成功

go version

查看go运行环境常量

go env

常用环境常量默认值

GOPATH="/root/go"
GOROOT="/usr/local/go/go1.13.12"

设置GOPROXY(go get加速,被墙的包也畅通无阻)

# 如果使用gomod,可以启用 Go Modules 功能
go env -w GO111MODULE=auto
# 配置 GOPROXY 环境变量(七牛云)
go env -w GOPROXY=https://goproxy.cn,direct

# 说明:GO111MODULE有三个可选值:off、on、auto
# off: 无模块支持,go 会从 GOPATH 和 vendor 文件夹寻找包。
# on: 模块支持,go 会忽略 GOPATH 和 vendor 文件夹,只根据 go.mod 下载依赖。
# auto: 在 $GOPATH/src 外面且根目录有 go.mod 文件时,开启模块支持。

版本管理工具GVM

Github: https://github.com/moovweb/gvm

安装

安装GVM前,系统里必须已经安装了Golang

在Linux下安装GVM,需要安装相关依赖,详情见官网说明: https://github.com/moovweb/gvm

bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)

重新登录shell或手动source .bashrc,以设置gvm环境变量

常用命令

# 查看已经安装的版本,和当前使用的版本
gvm list

# 查看已经发布的所有Golang版本
gvm listall

# 安装指定的Golang版本
gvm install go<version>

# 使指定Golang版本生效
gvm use go<version> [--default]
# 使用"--default"参数,下次登录shell默认使用该版本
# 安装完成后`go version`查看版本

# 删除指定的Golang版本
gvm uninstall go<version>

# 完全卸载掉GVM和所有安装的Golang版本(谨慎使用)
gvm implode

管理GOPATH

gvm use切换Golang版本的时候,GOPATH会被切换到对应Golang版本的默认GOPATH下。gvm pkgset可以让不同Golang版本的项目,共用同一个GOPATH

gvm pkgset create <packagename>
gvm pkgset list <packagename>
gvm pkgset delete <packagename>
gvm pkgset use <packagename>
gvm pkgset empty <packagename>