VS Code使用Go 1.13开发私有仓库项目时gomock导入报错如何解决
VS Code Go扩展导入错误修复方案
报错原因
该报错是因为Go 1.13+默认启用Go模块管理依赖,依赖包会下载到本地模块缓存而非$GOPATH/src路径下,VS Code Go扩展默认启用的GOPATH依赖解析模式无法识别模块缓存中的包。
修复步骤
- 第一步:拉取项目依赖
进入项目根目录(go.mod文件所在目录),执行命令拉取所有缺失依赖:
如果go.mod中未声明gomock依赖,可单独执行安装命令:go mod tidygo get github.com/golang/mock/gomock - 第二步:强制Go扩展启用模块模式
打开VS Code设置(快捷键Ctrl+,/Mac为Cmd+,),搜索Go: Module Mode,将配置值修改为on,强制扩展使用Go模块模式解析依赖。 - 第三步:配置扩展读取环境变量
打开项目工作区下的.vscode/settings.json文件(没有则新建),添加以下配置保证扩展能读取到私有仓库相关的环境变量:{ "go.toolsEnvVars": { "GOPRIVATE": "<Private-Repo-URL>", "GO111MODULE": "on" } } - 第四步:重启语言服务生效
按下Ctrl+Shift+P/Mac为Cmd+Shift+P调出命令面板,输入Go: Restart Language Server执行,等待语言服务重新加载项目后,报错即可消失。
内容的提问来源于stack exchange,提问作者Nilay Singh
相关产品推荐
相关产品推荐

