windows安装golang多版本管理工具gvm/g

本文详细介绍如何使用g/gvm工具在Windows环境下安装和配置Go环境。包括下载g/gvm安装包,设置环境变量,以及解决安装过程中可能出现的下载失败问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、安装包下载地址(随便选一个能访问的下载,区别在于命令行中使用gvm,还是g):

     1.gitee上的gvm:gvm 发行版 - Gitee.com

     2.github上的g:Releases · voidint/g · GitHub

下载后解压出来只有一个exe文件,把它放在一个单独的目录,我这里是D:\g\g.exe

二、下面开始配置环境变量,都以g为演示(gvm操作步骤一样,目录名有变化)。

快捷命令sysdm.cpl打开环境变量配置,增加如下几个【系统变量】:

1.G_MIRROR=https://golang.google.cn/dl/

    配置下G_MIRROR,为了下载go的时候不翻墙

2.G_HOME=C:\Users\(当前登录windows的用户目录)\(g/gvm工作目录)

   示例:g -> G_HOME=C:\Users\BK\.g

              gvm -> G_HOME=C:\Users\BK\.gvm

3.GOROOT=%G_HOME%\go

    配置GOROOT,这个指向g/gvm工作目录下的go,gvm安装go版本后,会在这个路径下建立一个软链到versions目录下的指定版本,靠这个方法来控制当前的go版本,如果安装g/gvm之前已经安装过go了,需要修改GOROOT这个环境变量

4.编辑系统变量中的【PATH】变量,增加一行【D:\g\】和一行【%GOROOT%\bin】,如下图

添加【D:\g\】 是为了在命令行工具中,全局使用g/gvm

添加【%GOROOT%\bin】是为了全局使用go命令

三、使用g/gvm

这里比较重要的一步,【以管理员身份运行命令行工具】,不管是CMD、还是powershell,都要以管理员身份运行!!!

不然,会出现【Symlink....A required privilege is not held by the client.】,就是无权创建软链,导致GOROOT指向的go目录不存在。

执行命令【g install 1.11.2】,等待一会儿,看到显示Installed successfully,表示安装成功

执行命令【go version】验证安装,显示具体go版本表示go安装成功

===============================问题分割线==========================================

问题描述:g install 安装时,发生问题文件下载失败的问题,具体看下图,

原因:golang官网的下载页面元素变动,导致g无法正常下载安装包

解决方案:下载g的最新版本,作者已经在1.1.3版本修复此问题

===============================问题分割线==========================================

问题描述:g install 安装时,出现文件下载失败的问题,具体看下图,

原因:这个是下载链接不稳定造成的问题

解决方案:多试几次就行了

### 安装和使用 GVM (Go Version Manager) 的方法 尽管 GVM 是一种用于管理 Go 版本的工具,但它主要设计为 Linux 和 macOS 平台上的解决方案。对于 Windows 用户来说,官方并不支持直接运行 GVM 工具[^1]。然而,可以通过以下几种方式实现类似的功能: #### 方法一: 使用 WSL (Windows Subsystem for Linux) WSL 提供了一个兼容层,允许在 Windows 上运行 Linux 命令行应用程序。 1. **安装 WSL** 首先,在 Windows 中启用 WSL 功能并安装一个 Linux 发行版(如 Ubuntu)。可以按照微软文档中的说明完成此操作[^2]。 2. **通过 APT 安装 GVM** 在 WSL 终端中执行以下命令来安装 GVM: ```bash sudo apt update && sudo apt install -y curl git mercurial make binutils bison gcc build-essential bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer) ``` 3. **初始化 GVM 环境** 执行 `source ~/.gvm/scripts/gvm` 来加载 GVM 脚本到当前 shell 会话中[^3]。 4. **安装所需版本的 Go** 可以像这样安装特定版本的 Go: ```bash gvm install go1.20 gvm install go1.21 ``` 5. **切换 Go 版本** 切换至某个已安装Go 版本: ```bash gvm use go1.20 ``` #### 方法二: 使用 SDKMAN! 替代方案 SDKMAN! 是一个多语言开发工具管理器,它也支持管理和切换不同版本的 Go 编程语言。 1. **安装 SDKMAN!** 访问 [SDKMAN!](https://sdkman.io/) 下载页面,并根据指南安装 SDKMAN!。该过程适用于 Windows、macOS 和 Linux。 2. **安装指定版本的 Go** 安装所需的 Go 版本: ```powershell sdk install go 1.20 sdk install go 1.21 ``` 3. **切换 Go 版本** 使用以下命令切换到不同的 Go 版本: ```powershell sdk use go 1.20 ``` #### 方法三: 自动化配置 GOPATH 和工作区 无论采用哪种方法,都需要确保设置了正确的 GOPATH 或模块模式下的 GOBIN/GOENV 环境变量。如果未正确设置这些环境变量,则可能会遇到类似于 “no install location” 的错误消息。 可以在 PowerShell 或 CMD 中手动定义这些变量,或者将其添加到系统的全局环境变量列表里以便永久生效: ```powershell $env:GOPATH="C:\Users\<YourUsername>\go" $env:PATH="$($env:GOPATH)\bin;" + $env:PATH ``` --- ### 总结 虽然原生 GVM 不支持 Windows,但借助于 WSL 或者更现代化的跨平台替代品——比如 SDKMAN! ——仍然能够轻松达成多版本管理的需求。同时需要注意的是,为了防止潜在问题的发生,请务必遵循最佳实践调整好自己的项目目录结构以及关联的环境参数设定。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值