g是一个Linux、macOS、Windows下的命令行工具,能够提供一个便捷的多版本go环境的管理和切换。git
Linux/macOS(适用于bash、zsh)github
# 建议安装前清空`GOROOT`、`GOBIN`等环境变量
$ wget -qO- https://raw.githubusercontent.com/voidint/g/master/install.sh | bash
$ echo "unalias g" >> ~/.bashrc # 可选。若其余程序(如'git')使用了'g'做为别名。
$ source ~/.bashrc # 或者 source ~/.zshrc
复制代码
下载对应平台的二进制压缩包。golang
将压缩包解压至PATH
环境变量目录下,如/usr/local/bin
。shell
编辑shell环境配置文件(~/.bashrc
、~/.zshrc
...)bash
$ cat>>~/.bashrc<<EOF
export GOROOT="${HOME}/.g/go"
export PATH="${HOME}/.g/go/bin:$PATH"
export G_MIRROR=https://golang.google.cn/dl/
EOF
复制代码
查询当前可供安装的stable
状态的go版本工具
$ g ls-remote stable
1.11.9
1.12.4
复制代码
安装目标go版本1.12.4
ui
$ g install 1.12.4
Installed successfully
$ go version
go version go1.12.4 darwin/amd64
复制代码
查询已安装的go版本google
$ g ls
1.12.4
复制代码
查询可供安装的全部go版本spa
$ g ls-remote
1
1.2.2
1.3
1.3.1
... // 省略若干版本
1.11.7
1.11.8
1.11.9
1.12
1.12.1
1.12.2
1.12.3
1.12.4
复制代码
安装目标go版本1.11.9
命令行
$ g install 1.11.9
Installed successfully
$ go version
go version go1.11.9 darwin/amd64
复制代码
切换到另外一个已安装的go版本
$ g ls
1.11.9
1.12.4
$ g use 1.12.4
go version go1.12.4 darwin/amd64
复制代码
卸载一个已安装的go版本
g uninstall 1.11.9
Uninstall successfully
复制代码
环境变量G_MIRROR
有什么做用?
因为中国大陆没法自由访问Golang官网,致使查询及下载go版本都变得困难,所以能够经过该环境变量指定一个镜像站点(如https://golang.google.cn/dl/
),g将从该站点查询、下载可用的go版本。
支持源代码编译安装吗?
不支持