golang多版本管理工具g
一)g简介
g是一个Linux、macOS、Windows下的命令行工具,可以提供一个便捷的多版本go环境的管理和切换
二)g特性
支持列出可供安装的go版本号
支持列出已安装的go版本号
支持在本地安装多个go版本
支持卸载已安装的go版本
支持在已安装的go版本之间自由切换
三)安装
https://github.com/voidint/g
1、自动化安装
Linux/macOS(适用于bash、zsh)
建议安装前清空GOROOT
、GOBIN
等环境变量
wget -qO- https://raw.githubusercontent.com/voidint/g/master/install.sh | bash
echo "unalias g" >> ~/.bashrc # 可选。若其他程序(如'git')使用了'g'作为别名。
source ~/.bashrc # 或者 source ~/.zshrc
2、手动安装
下载对应平台的二进制压缩包。
将压缩包解压至PATH环境变量目录下,如/usr/local/bin。
编辑shell环境配置文件(/.bashrc、/.zshrc...)
cat>>~/.bashrc<<EOF export GOROOT="${HOME}/.g/go"
export PATH="${HOME}/.g/go/bin:$PATH"
export G_MIRROR=https://golang.google.cn/dl/
EOF
window下添加环境变量
GHOME="C:\Users\Administrator\.g"
GOROOT="%GHOME%\go"
PATH="%GOROOT%\bin"
G_MIRROR=https://gomirrors.org/
g的使用
g --help
NAME:
g - Golang Version Manager
USAGE:
g command [arguments...]
VERSION:
1.5.0
AUTHOR:
voidint voidint@126.com
COMMANDS:
ls List installed versions
ls-remote List remote versions available for install
use Switch to specified version
install Download and install a version
uninstall Uninstall a version
clean Remove files from the package download directory
self Modify g itself
help, h Shows a list of commands or help for one command
GLOBAL OPTIONS:
--help, -h show help (default: false)
--version, -v print the version (default: false)
2、使用当前可供安装的stable状态的go版本
查询当前可供安装的stable状态的 go 版本
g ls-remote stable
1.19.10
1.20.5
安装目标 go 版本1.20.5
g install 1.20.5
Downloading 100% [===============] (92/92 MB, 12 MB/s)
Computing checksum with SHA256
Checksums matched
Now using go1.20.5
查询已安装的 go 版本
g ls
1.19.10
* 1.20.5
查询可供安装的所有 go 版本
g ls-remote
1
1.2.2
1.3
1.3.1
... // 省略若干版本
1.19.10
1.20rc1
1.20rc2
1.20rc3
1.20
1.20.1
1.20.2
1.20.3
1.20.4
* 1.20.5
切换到另一个已安装的 go 版本
g use 1.19.10
go version go1.19.10 darwin/arm64
卸载一个已安装的 go 版本
g uninstall 1.19.10
Uninstalled go1.19.10
清空 go 安装包文件缓存
g clean
Remove go1.18.10.darwin-arm64.tar.gz
Remove go1.19.10.darwin-arm64.tar.gz
Remove go1.20.5.darwin-arm64.tar.gz
查看 g 版本信息
g version 1.5.0
build: 2023-01-01T21:01:52+08:00
branch: master
commit: cec84a3f4f927adb05018731a6f60063fd2fa216
更新 g 软件本身
g self update
You are up to date! g v1.5.0 is the latest version.
卸载 g 软件本身
g self uninstall
Are you sure you want to uninstall g? (Y/n)
y
Remove /Users/voidint/.g/bin/g
Remove /Users/voidint/.g
Go设置GOPROXY国内加速
1.在 Linux 或 macOS 上面
需要运行下面命令(或者,可以把以下命令写到 .bashrc 或 .bash_profile 文件中):
# 启用 Go Modules 功能
go env -w GO111MODULE=on
# 配置 GOPROXY 环境变量,以下三选一
# 1. 七牛 CDN
go env -w GOPROXY=https://goproxy.cn,direct
# 2. 阿里云
go env -w GOPROXY=https://mirrors.aliyun.com/goproxy/,direct
# 3. 官方
go env -w GOPROXY=https://goproxy.io,direct
# 确认一下:
$ go env | grep GOPROXY
GOPROXY="[https://goproxy.cn](https://goproxy.cn/)"
2.在Windows上面
# 启用 Go Modules 功能
$env:GO111MODULE="on"
# 配置 GOPROXY 环境变量,以下三选一
# 1. 七牛 CDN
$env:GOPROXY="https://goproxy.cn,direct"
# 2. 阿里云
$env:GOPROXY="https://mirrors.aliyun.com/goproxy/,direct"
# 3. 官方
$env:GOPROXY="https://goproxy.io,direct"
# 确认一下:
$ go env | grep GOPROXY
GOPROXY="[https://goproxy.cn](https://goproxy.cn/)"
评论区