在 Windows 系统下,goenv 并非原生支持的工具,因为 goenv 主要设计用于 Unix-like 系统(如 Linux 和 macOS),它依赖于 Bash 等 Shell 环境。不过,你可以通过以下替代方案在 Windows 上实现类似 goenv 的功能:
替代方案一:使用 GVM(Go Version Manager)
GVM 是一个专门为 Go 语言设计的版本管理工具,支持 Windows、Linux 和 macOS。
安装 GVM:
打开命令提示符(cmd)或 PowerShell。
运行以下命令安装 GVM:
bash < <(curl -s -S -L https://github.com/moovweb/gvm/tree/master/binscripts/gvm-installer)
- 安装完成后,需要重新打开命令提示符或 PowerShell 以使环境变量生效。、
上面不行i情况
D:\0_work_n\opencode\gvm\binscripts
git clone https://github.com/moovweb/gvm.git
cd gvm/binscripts
./gvm-installer
C:\Users\clqzc\.gvm\bin
https://raw.githubusercontent.com/moovweb/gvm/master/binscripts
winddow环境变量不重启生效
https://doc.rg1008.com/docs/rg_pass_tool/rg_pass_tool-1d4j7cirofh18
- 使用 GVM 安装和管理 Go 版本:
- 列出可用的 Go 版本:gvm listall
- 安装特定版本的 Go:gvm install go1.21.5(将 1.21.5 替换为你需要的版本)
- 使用特定版本的 Go:gvm use go1.21.5
- 设置默认版本:gvm use go1.21.5 --default
###替代方案二:使用 Scoop 或 Chocolatey 包管理器
Scoop 和 Chocolatey 是 Windows 上的包管理器,可以方便地安装和管理多个 Go 版本。
安装 Scoop 或 Chocolatey:
Scoop:在 PowerShell 中运行以下命令安装 Scoop:
powershell
Set-ExecutionPolicy RemoteSigned -scope CurrentUser
irm get.scoop.sh | iex
- Chocolatey:在管理员权限的命令提示符中运行以下命令安装 Chocolatey:
@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"
使用 Scoop 或 Chocolatey 安装 Go:
Scoop:
powershell
scoop install go
- 如果需要多个版本,可以使用 Scoop 的
bucket
功能或手动管理不同版本的安装路径。 - Chocolatey:
choco install golang
- 同样,Chocolatey 默认安装最新版本,如需多个版本,可能需要手动管理。
替代方案三:手动管理多个 Go 版本
下载不同版本的 Go:
从 Go 官方下载页面 下载不同版本的 Windows 安装包(.msi 文件)。
安装到不同目录:
安装每个版本时,选择不同的安装目录,例如 C:\Go1.20.0、C:\Go1.21.0 等。
手动切换版本:
通过修改系统环境变量 PATH 来切换使用的 Go 版本。
例如,要将 Go 版本切换到 1.20.0,可以将 C:\Go1.20.0\bin 添加到 PATH 的最前面,并移除其他 Go 版本的 bin 目录。
配置 Go Modules 和代理(推荐)
无论使用哪种方案,都建议配置 Go Modules 和国内代理以加速依赖下载:
go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.cn,direct