Go语言升级1.22.0版本VSCode启动调试报 Version of Go is too old for this version of Delve

因为项目中调用了其它同事的服务,该服务同事的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个参数配置,之后再启动调试模式,就不会报错了

相关推荐
淡海水10 小时前
02-07-原理篇-GC暂停时间的本质
开发语言·unity·c#·gc·暂停时间
大白8010 小时前
CSS 盒模型精讲:标准盒模型与 IE 怪异盒模型区别
后端
深蓝AI10 小时前
Python 写 JSON 写到一半崩了?用 os.replace 保住上一版配置(附故障注入)
后端
十年Java程序媛10 小时前
String / StringBuilder / StringBuffer|别再乱用字符串拼接,底层原理一次讲透
java·spring boot·后端
大勇前进10 小时前
CSS 选择器优先级详解,一次搞懂权重计算规则
后端
姜鱼问生11 小时前
fail2ban 实战:从默认配置到生产可用
后端·算法·架构
北i11 小时前
Dubbo 默认超时重试:把下游打雪崩的隐形放大器
开发语言·qt·dubbo
10mAh11 小时前
【Java】ArrayList 遍历删除为什么报错?三种写法与漏删复现
java·开发语言·windows
JavaGuide12 小时前
DeepSeek Harness 重磅更新,Codex、Claude Code 子智能体进官方插件列表了,还有 Git 工作树和思考翻译!
前端·后端
wewowilling12 小时前
AI大模型开发--01Python基础(无废话)
开发语言·python·函数