go mod init 之后 vscode报错gopls was not able to find modules in your workspace

问题出现:在A文件夹下创建了一个B文件夹,在B文件夹下写了一个项目,对B文件夹go mod init之后,module有效并且项目成功运行了,然后!我在A文件夹下又创了一个C文件夹,想在下面写项目,写了一个文件后对C文件夹go mod int,这个时候红色波浪线出现了(B、C文件夹下文件都有)不仅报错 而且一些go内置的函数找不到定义。后来把C文件夹删了也不起作用,并且在其他路径下go mod init也会报错

 

解决问题:

(27条消息) vscode 报错package xxx is not in GOROOT(path) 或者go: to add module requirements and sums: go mod tidy_Kpdo的博客-CSDN博客

上文是我在网上看了2天2夜,尝试了各种方法及卸载重装go两次之后 唯一成功的方法,我愿称之为yyds !!!

 

 

 

闲谈:没有想到是上述workspace,因为那个提示信息里有说可以通过设置什么workspace来解决问题当时我看了网络上很多帖子都是在settings里设置以下的什么workspace,但是设置了之后不仅没用而且vscode会弹出提示,说设置这个会过时,以后会取消啥的,好像是因为go mod已经出来了吧


设置这个无效🙅‍♀️❌
1 "gopls": {
2     "experimentalWorkspaceModule": true
3 } 

 

没解决的问题:我在虚拟机(centos7)里修改了环境变量GOPATH和GOPROXY,并且source了使其生效,我也go env了看了一下,然后!我重新打开vscode,在终端执行go env,在vscode里根本就没改!!也就是说vscode里go的环境变量跟我虚拟机上的不一致!!并且我在vscode终端里修改了环境变量,只消等几分钟又变回去了,根本就修改不了vscode里go的环境变量,各种settings里我都去尝试了添加修改gopath,根本无效!!但是之前对c/c++ settings里的修改会生效(奇了怪了)

对了,vscode里go的那些工具安装失败也有这个原因,vscode和虚拟机gopath路径不一致,导致安装时找不到gopath下的工作文件夹 然后呢它就想着找不到那我就创建一个工作文件夹吧 但是又没写权限,最后 安装FAILED,解决方法就是把工作文件夹放在 vscode里保存的gopath路径 下,并且赋予写权限,图方便就改成777吧

 

vscode里go的环境变量跟虚拟机上不一致:是第二次卸载go时,我把虚拟机上go卸载了(可自行搜索彻底卸载go,包括删除配置文件里信息和GOROOT下文件等等),把vscode里那些go插件也全删了,一些跟go配置相关的文件夹也都删了,然后重新装回来,全部重弄一遍,终于,vscode里go的环境变量修改了,两者终于一致了😭

但是我还是不知道原因,除了这种卸载重装不知道怎么才能修改vscode里go的环境变量

 

 

我不理解为什么vscode里go 修改settings里配置没用🙂

posted @ 2023-01-25 22:51  balabalahhh  阅读(3337)  评论(2编辑  收藏  举报