Goland开发低版本golang项目
- 2024-04-18 17:18:00
- CJL 原创
- 1031
开发历史项目时会碰到go版本很低的情况,最好将项目版本升级,如果无法升级需在原版本上开发涉及到以下几个问题:
1、依赖包容易自动升级到不支持的版本
2、调试工具
3、多版本开发环境
下面以go1.17为例
首先设置goland版本,在setting - go -goroot中下载需要的版本
设置单独的gopath
设置后会自动下载相关依赖
如teminal命令行中的版本不对重启goland
安装依赖时如碰到提示需要更快版本的golang,将提示的软件包指定更低的版本
如提示To upgrade to the versions selected by go 1.16: 按提示执行go mod tidy -go=1.16 && go mod tidy -go=1.17 选择依赖高版本
碰到不确定降级到哪个版本的包查找官方文档或者原可运行环境内选择的包。
最终将所有提示有版本问题的包在go.mod中进行版本限制
在debug时如果提示 goland undefined behavior - Go version 1.17.13 is too old for this version of Delve (minimum supported version 1.18) 表示默认dlv版本不匹配。可以自己安装后使用安装的dlv
参考文章:https://www.cnblogs.com/c2g5201314/p/17355631.html
go install github.com/go-delve/delve/cmd/dlv@v1.8.0 (版本列表:https://github.com/go-delve/delve/blob/master/CHANGELOG.md#190-2022-07-06)
安装完成后在goland中 help edit custom properties 内添加 dlv.path=C:/Users/0621/go/go1.17.13/bin/dlv.exe
重启goland生效