工作中做 go 开发的时候,经常会遇到本地比打包机的 go 版本新的情况,而有些特性或者功能又只包含在新版本当中,导致时有打包失败的情况发生。比如,经常会出现的一个问题就是 ioutil 这个包在 1.16 之后已经被废弃了,其中的一些方法也转移到了其他的包中,我脑海中一直有这个印象,所以就下意识地避免使用 ioutil 这个包,但是因为打包机使用的是 1.15 版本,所以我下意识的避免反而造成了打包失败。在这种情况下,最好的方式就是将本地项目的开发环境切换到 1.15。好在官方1也提供了安装多版本的方式
首先本地需要先安装好一个版本的 go,最好是最新的版本。安装完成之后将 GOPROXY 配置为国内的代理,加速之后的下载速度。我常用的配置
|
|
接着安装 go1.15
|
|
安装完成之后可以通过下面的命令测试一下是否安装成功
|
|
为了方便起见,你可以给 go1.15 的可执行文件起个别名,或者将 ~/go/bin
添加到环境 PATH 当中,可以简化需要输入的命令
go 默认会把其他版本的源码放置在 ~/sdk/
下,所以上面下载的 1.15 版本的 GOROOT 就是 ~/sdk/go1.15
你可以通过 go1.15 env
查看 1.15 版本对应的环境变量
如果你想卸载 go1.15,只需要从 $GOPATH/bin
把 go1.15 删掉,然后把 $HOME/sdk/go1.15
删掉即可