因为项目中调用了其它同事的服务,该服务同事的Go环境是1.22.0,我本地go环境是Go1.20.6,不得已也升级了go的版本到1.22.0,其实升级很简单,只需要去go官网下载windows环境的zip包,把原来配置的环境变量GOROOT对应目录下的文件删除,解压新版本的文件到该目录,再起一个cmd窗口 执行 go env,验证版本就会发现已经升级好了,如下
当然了,这次我们主要问题是版本问题,当你升级好go的版本后,你使用VSCode调试原来的项目,发现报错了
这时候有2种方法解决
1、去升级dlv,这里不推荐,需要去github下载dlv代码编译后,替换gopath bin目录下的 dlv.exe
2、改launch.json,这个最简单,只需要在这个配置文件里增加2行配置即可,下面给出json文件
javascript
{
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Launch Package",
"type": "go",
"request": "launch",
"mode": "auto",
"program": "${workspaceFolder}/main.go",
"args": ["--profile"],
"debugAdapter": "dlv",
"dlvFlags": ["--check-go-version=false"]
}
]
}
上面的配置,在最下面增加了 debugAdapter,dlvFlags 2个参数配置,之后再启动调试模式,就不会报错了