Golang 版本控制工具:g 安装与使用


前言

Golang的版本控制工具g是一个用来方便地管理和切换Go语言版本的工具。它让用户可以轻松地安装、卸载和切换不同版本的Go,从而更好地适应不同项目的需求。可以看作是golang自己的nvm了。
其官网下载链接如下:g版本控制工具 releases下载

同时支持windows、Linux、mac三个系统。


一、安装g工具

安装g工具可以使用两种方式来安装

  • 手动安装:根据自己的电脑系统和CPU架构选择对应的压缩包,下载到本地。并解压到自己想要放置的文件
  • 自动化安装:根据自己的系统来执行对应的安装脚本

Linux | Mac 用户

自动化安装

通过执行install.sh 代码,自动执行下载及环境配置

# 建议安装前清空`GOROOT`、`GOBIN`等环境变量
$ curl -sSL https://raw.githubusercontent.com/voidint/g/master/install.sh | bash
$ cat << 'EOF' >> ~/.bashrc
# 可选。检查g别名是否被占用
if [[ -n $(alias g 2>/dev/null) ]]; then
    unalias g
fi
EOF 
$ source "$HOME/.g/env"

手动安装

创建G_HOME目录,作者推荐使用~/.g
将下载的包解压到~/.g./bin目录,设置对应的环境变量

$ cat >~/.g/env <<'EOF'
#!/bin/sh
# g shell setup
export GOROOT="${HOME}/.g/go"
export PATH="${HOME}/.g/bin:${GOROOT}/bin:$PATH"
export G_MIRROR=https://golang.google.cn/dl/
EOF

启动环境变量

$ source ~/.bashrc # 或source ~/.zshrc

Windows用户

自动安装

windows想要进行自动安装,需要使用powershell 配置管理员权限使用。

$ iwr https://raw.githubusercontent.com/voidint/g/master/install.ps1 -useb | iex

手动安装-官方教程(装到用户目录下)

  • 创建目录mkdir ~/.g/bin
  • 下载release的 windows 版本的二进制压缩包, 解压之后放到~/.g/bin目录下
  • 默认二进制文件名是 g.exe, 如果你已经用 g 这个命令已经用作为 git 的缩写,那么你可以把 g.exe 改为其他名字,如 gvm.exe
  • 执行命令code $PROFILE, 这个命令会用 vscode 打开默认的 powershell 配置文件
  • 在 powershell 的默认配置文件中加入如下内容
$env:GOROOT="$HOME\.g\go"
$env:Path=-join("$HOME\.g\bin;", "$env:GOROOT\bin;", "$env:Path")
  • 再次打开 powershell 终端,就可以使用 g 或者 gvm 命令了

手动安装-非C盘配置

  • 创建自己想放置的目录 如: D:\tool\g
  • 下载release的 windows 版本的二进制压缩包, 解压之后放到D:\tool\g\bin目录下
  • 想改名字也可以的,如改成gvm后,之后使用命令则以gvm开头。
  • 配置环境变量:跟官方代码逻辑一样,主要有三个点,如本次的例子,通过点击环境变量的配置
    1. G_HOME = D:\tool\g
    2. GOROOT = %G_HOME%\go
    3. Path中配置 %GOROOT%\bin 这里是为了能在终端中使用go
    4. 重要一点 设置环境变量G_EXPERIMENTAL = true 这时安装的golang包才会装到G_HOME中, 否则会默认到~/.g
  • CMD 可以测试 g -v 查看版本了

二、使用方法

配置镜像

国内直连官网下载存在困难,建议配置镜像进行下载。
环境变量中配置G_MIRROR为如下任意地址即可

常用命令

查询当前可供安装的stable状态及所有的 go 版本

# stable 版本
g ls-remote stable

# 所有版本
g ls-remote

安装目标 go 版本1.20.3

g install 1.20.3

切换到已安装的 go 版本

g use 1.20.3

卸载一个版本

g uninstall 1.20.3

查询已安装版本

g ls

g 自身相关命令

# 清空 go 安装包文件缓存
g clean

# 查看 g 版本信息
g version 1.5.0

# 更新 g 软件本身
g self update

# 卸载
g self uninstall

本文是经过个人查阅相关资料后理解的提炼,可能存在理论上理解偏差的问题,如果您在阅读过程中发现任何问题或有任何疑问,请不吝指出,我将非常感激并乐意与您讨论。谢谢您的阅读!

  • 18
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值