我正在尝试在带有go.mod的包中使用VS代码的Go特性(比如“Go to definition”)。但是,如果我进入存储库的主目录(使用go.mod)和code .,则会得到以下错误:

加载工作空间文件夹(预期为1,got为0)错误,file:///Users/kurt/Documents/http-enrollment-portal:错误:退出状态1: stderr:$GOPATH/go.mod存在但不应该加载视图
我读到可能需要更新gopls语言服务器,所以我按了Cmd + Shift +P,选择了"Go: Install/Update“并选择了gopls;然而,这也给了我同样的错误:
go.toolsGopath setting is not set. Using GOPATH /Users/kurt/Documents/http-enrollment-portal:/Users/kurt/go
Installing 1 tool at /Users/kurt/Documents/http-enrollment-portal/bin in module mode.
gopls
Installing golang.org/x/tools/gopls FAILED
1 tools failed to install.
gopls:
Error: Command failed: /usr/local/opt/go@1.12/bin/go get -v golang.org/x/tools/gopls
$GOPATH/go.mod exists but should not
$GOPATH/go.mod exists but should not奇怪的是,“进入定义”在其他存储库中确实有效。我认为一个可能的解决方案是设置go.toolsGopath
发布于 2021-05-21 16:36:53
我也有过类似的问题。因此,为了解释一下,我使用https://www.mongodb.com/blog/post/quick-start-golang-mongodb-starting-and-setup来尝试Go中的Mongodb。在VS代码中,我首先安装了go mod init quickstart,然后使用了go get go.mongodb.org/mongo-driver并得到了错误$GOPATH/go.mod exists but should not。我以前根据https://www.freecodecamp.org/news/setting-up-go-programming-language-on-windows-f02c8c14e2f/设置了我的GOPATH (请参阅本页的第三阶段)。我进入了我的Windows环境变量并删除了我的GOPATH。在Windows10Start菜单上,转到System,然后Advanced system settings在Advanced选项卡下单击Environment Variables按钮,我删除了GOPATH变量。接下来,在VS代码中,我再次尝试go get go.mongodb.org/mongo-driver,它可以工作。
发布于 2022-06-22 03:25:23
go env -w GOPATH= GOPATH和模
在使用模块时,GOPATH不再用于解析导入。但是,它仍然用于存储下载的源代码(在GOPATH/pkg/mod中)和编译命令(在GOPATH/bin中)。
https://stackoverflow.com/questions/62177371
复制相似问题