目录

前文
  • 基于gomod管理后,经常出现需要多个版本的go进行代码构建。
  • 如果仅仅是为了编译,个人推荐使用docker进行交叉编译即可;
  • 如果是为了本地调试运行,可以参考一下方式
golangIDE(推荐)

原理: 指定go版本左右软件环境的goroot,替代系统环境goroot

step1 下载go

file->other settings->go->goroot->±>download (也可以自己下载go 使用local版本)->ok
在这里插入图片描述

step2 指定go 版本

file->other settings->go->goroot->选择go版本->ok
在这里插入图片描述

使用gvm

原理: 通过gvm工具动态切换修改GOPATH/GOROOT/GOTOOLDIR来实现制定当前环境使用go 版本
https://github.com/moovweb/gvm

step0 常用命令

# 列出版本
gvm list [>=version]

# 列出所有可用版本
gvm listall 

# 按照指定版本
gvm install [version] [options]
# 参数
    -s,  --source=SOURCE      Install Go from specified source.
    -n,  --name=NAME          Override the default name for this version.
    -pb, --with-protobuf      Install Go protocol buffers.
    -b,  --with-build-tools   Install package build tools.
    -B,  --binary             Only install from binary.
         --prefer-binary      Attempt a binary install, falling back to source.
    -h,  --help               Display this message.

step1 下载gvm

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

step2 使用gvm

  • gvm默认路径 “Users/{your name}/.gvm”
  • go install 将下载go1.13.10 并创建对应环境变量
# 下载使用go1.13.10
gvm install go1.13.10
gvm use go1.13.10
# go env
GOPATH="/Users/{your name}/.gvm/pkgsets/go1.13.10/global"
GOROOT="/Users/{your name}/.gvm/gos/go1.13.10"
GOTOOLDIR="/Users/{your name}/.gvm/gos/go1.13.10/pkg/tool/darwin_amd64"