目录
- 基于gomod管理后,经常出现需要多个版本的go进行代码构建。
- 如果仅仅是为了编译,个人推荐使用docker进行交叉编译即可;
- 如果是为了本地调试运行,可以参考一下方式
原理: 指定go版本左右软件环境的goroot,替代系统环境goroot
step1 下载go
file->other settings->go->goroot->±>download (也可以自己下载go 使用local版本)->ok
step2 指定go 版本
file->other settings->go->goroot->选择go版本->ok
原理: 通过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"