go语言多版本管理
正常来说,自己开发的话安装一个最新的就行,各方面体验最佳。
但是客户需求是千奇百怪的, 比如我这个项目,需要在win7上运行,而且还是32位的。具体版本是: win7 sp1
我当前版本安装的是1.22.5
, 算是新的了, 用命令打包成x86版本的exe应用,传到服务器却是不能成功运行。
报错提示:
C:\Users\cdfy\Desktop>server_win.exe
Exception 0xc0000005 0x8 0x0 0x0
PC=0x0
runtime.asmstdcall(0x20)
C:/Program Files (x86)/Go/src/runtime/sys_windows_386.s:44 +0x2a fp=0x1c
f8e8 sp=0x1cf8e4 pc=0x37d87a
eax 0x8
ebx 0x1063150
ecx 0x0
edx 0x1cf918
edi 0x1cf8ec
esi 0x1cf94c
ebp 0x1cf8ec
esp 0x1cf8e0
eip 0x0
eflags 0x10206
cs 0x1b
fs 0x3b
gs 0x0
搜索了下,原来go 1.20是最后一个支持win7的版本,后面都不支持了。
那么现在就涉及到一个多版本装在同一个window系统中,百度搜索了下,使用了g
这个多版本管理工具,还是挺好使得,这里记录下安装过程:
- 直接在开源站点上下载g这个工具
- 新增
G_HOME
环境变量,指向解压根目录 - 新增
G_MIRROR
环境变量,指向国内go下载的镜像地址 - 移除并替换原有go的path 环境变量配置,
go/pathto/bin
,更新为%USERPROFILE%\.g\go\bin
- 移除并替换原有的
GOROOT
环境变量配置,更新为%USERPROFILE%\.g\go
然后重新打开命令窗口即可使用了,还是挺方便的。
一些常用命令:
g ls
查看当前安装的版本g use 1.20
切换为1.20使用g install 1.20
安装1.20版本的gog uninstall 1.20
卸载1.20的版本
安装完成后,使用上诉命令重新打包后,可以正常在32位win7中运行,nice。
This post is licensed under
CC BY 4.0
by the author.