侧边栏壁纸
博主头像
封存记忆 博主等级

行动起来,活在当下

  • 累计撰写 26 篇文章
  • 累计创建 24 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

golang多版本管理工具g

Administrator
2025-01-02 / 0 评论 / 0 点赞 / 14 阅读 / 0 字

golang多版本管理工具g

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

二)g特性
支持列出可供安装的go版本号
支持列出已安装的go版本号
支持在本地安装多个go版本
支持卸载已安装的go版本
支持在已安装的go版本之间自由切换
三)安装
https://github.com/voidint/g
1、自动化安装
Linux/macOS(适用于bash、zsh)

建议安装前清空GOROOTGOBIN等环境变量

 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/)"
0

评论区