本文主要是介绍GoLand:Cannot resolve symbol,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
GoLand:Cannot resolve symbol
1.环境
GoLand版本:2021.1.2
Go版本:1.16.4
EB@DESKTOP-K45IA6V MINGW64 ~/Desktop/test1280
$ go version
go version go1.16.4 windows/amd64
2.报错
包import处报错:Cannot resolve symbol
项目go.mod标红:Missing dependency
3.解决
根据GoLand提示操作,通常可以修复解决:
或者:Alt+Enter
4.原因
原因1:
手动删除了$GOPATH/pkg/mod中的依赖包,例如:
EB@DESKTOP-K45IA6V MINGW64 /d/gopath/pkg/mod
$ echo $GOPATH
D:\gopathEB@DESKTOP-K45IA6V MINGW64 /d/gopath/pkg/mod
$ pwd
/d/gopath/pkg/modEB@DESKTOP-K45IA6V MINGW64 /d/gopath/pkg/mod
$ rm -rf gopkg.in
将会导致如上错误。
原因2:
修改了GOPATH值,重启GoLand后,GOPATH指向的新的目录没有缓存对应的依赖包。
EB@DESKTOP-K45IA6V MINGW64 ~/Desktop/test1280
$ echo $GOPATH
D:\gopath2EB@DESKTOP-K45IA6V MINGW64 ~/Desktop/test1280
$ ls -l $GOPATH/pkg/mod
total 0
drwxr-xr-x 1 EB 197609 0 May 26 23:58 cache
殊途同归,根本原因是GoLand从GOPATH中找不到依赖库缓存,因此报错。
这篇关于GoLand:Cannot resolve symbol的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!