Windows平台下的Go版本切换工具-g

voidint/g

g 是一个 Linux、macOS、Windows 下的命令行工具,可以提供一个便捷的多版本 go 环境的管理和切换。

在这里我们介绍一下在 windows 下的使用,涉及到我们开发所需要用到的 几个 go 项目层环境变量它们分别是 GOPATH,GOPROXY,GO111MODULE, 需要先在主页->高级系统设置->环境变量 中先设置好。

GOPATH

在GOPATH目录下,一般存放有三个目录

  • src:源代码所在目录
  • pkg:一般存放go mod tidy下载好的库缓存文件。mod,windows_amd64
  • bin:Go 程序可执行文件目录,如 vscode 的各项组件 gopls,wire,goimports

而我们的项目一般保持 D:\Code\go\src\github.com\aszeta\novelsvc 这种格式方便管理,github.com 是代码平台,后面接一个作者,最后才是项目名称。

GOPROXY

这个是 go 的镜像代理设置,因为国外访问有时候并不会很稳定。那常见的几个配置是:

七牛云

GO111MODULE

我们可以根据不同的场景开关 go mod:

  • GO111MODULE = on, GO 将会强制项目使用 go mod,需要在当前 GOPATH 的 src 目录下才能运行代码 go run main.go
  • GO111MODULE = off ,我们则不必一定需要在 GOPATH src 下面放置我们的代码。

安装 g 命令下环境变量

  • 创建目录mkdir ~/.g/bin

  • 下载 release的 windows 版本的二进制压缩包, 解压之后放到~/.g/bin 目录下

  • 使用编辑器在命令行下打开或者创建路径为 code $profile ,这里我们可以使用 echo $profile 然后复制路径下来在其他的编辑器创建编辑。

  • 编辑器在当前文本中写入 powershell 配置文件

    $env:GOROOT="$HOME\.g\go"
    $env:Path=-join("$HOME\.g\bin;", "$env:GOROOT\bin;", "$env:Path")
    
  • 重新打开一个命令行,运行 g或者gvm,则会出现使用说明。

关于 g 使用

查看当前可以安装的 go 版本

$ g ls-remote stable
  1.13.15
  1.14.7

安装指定的 go 版本

$ g install 1.14.7
Downloading 100% |███████████████| (119/119 MB, 9.939 MB/s) [12s:0s]
Computing checksum with SHA256
Checksums matched
Now using go1.14.7

查看所有本地安装过的 go 版本

$ g ls
  1.7.6
  1.11.13
  1.12.17
  1.13.15
  1.14.6
* 1.14.7

切换到另一个已经安装的 go 版本

$ g use 1.14.6
go version go1.14.6 darwin/amd64

卸载一个已安装的 go 版本

$ g uninstall 1.14.7
Uninstalled go1.14.7

更新 g 工具的版本

$ g update
A new version of g(v1.2.2) is available
Downloading 100% |███████████████| (3.7/3.7 MB, 2.358 MB/s)
Computing checksum with SHA256
Checksums matched
Update completed

通过上述的一系列操作步骤,我们已经可以随意切换 go 版本,不用担心因工作版本与想体验新版本 Go 特性,如泛型频繁下载卸载带来的苦恼了。

热门相关:超武穿梭   重生之至尊千金   法医王妃不好当!      夫人你马甲又掉了