【Go + VS Code】环境初始化踩坑记录
`Failed while handling 'FileSystemWatcher.onDidCreate': EntryNotFound (FileSystemError): Error ...
1、浏览器
golang网站莫名其妙Chrome访问了一次就打不开了,edge倒是可以……
2、软件包
下载的软件包可能也有问题,导致一开始一直提示go非内外部命令,我还以为环境变量设置的方法错了,再次双击msi包,选repair,等它跑完就好了……
3、GOPATH
话说,用户变量里会自行生成一个GOPATH,但一般教程里都会让在系统变量里配置GOROOT,GOPATH和Path,而如果这样做了,go env
的时候会发现GOPATH=用户变量中的路径。所以把用户变量中的GOPATH删掉。
4、镜像源
处在不同的环境就要不同的镜像源-_-||
阿里云的链接打不开了,七牛云还行
go env -w GOPROXY=https://goproxy.cn,direct
go env -w GOSUMDB=sum.golang.google.cn
还有个好像是配置GO111MODULE
?有点忘了,先这样吧
5、vscode中使用bug
先说结论:
建议事先在GOPATH
下的pkg\mod
路径下建一个空的go.mod文件。
以下为详情:
vscode加Go插件,会提示
The extension depends on go
, gopls
(the Go language server), and optional tools depending on your settings. If gopls
is missing, the extension will try to install it.
并且如果要码代码的时候有语法提示,需要vscode命令中输入Go:
一般会自动联想到以下,选中执行,其实就是安相关插件,全选。
然后装的时候又报错
Failed while handling 'FileSystemWatcher.onDidCreate': EntryNotFound (FileSystemError): Error ...
显示又是安装成功了
参考了
https://blog.csdn.net/qq_35401605/article/details/122902406
gomod 和 gopath 两个包管理方案(个人理解)
gopath 指的是在go安装包的src下进行开发,不需要安装依赖包;
gomod 是自己新建出来的目录,但是需要在环境变量中添加 GOPATH,需要重新安装依赖包;
作者在文末也说发现了报错,但不影响,所以略过
另外github上也有专门提issue,虽然关了,但vscode目前显然还没有把这个issue很好地解决
https://github.com/golang/vscode-go/issues/2151
还有YouTube上类似的问题How To Fix Error " go.mod file not found in current directory or any parent directory" in GoLang,其实就是配置GO111MODULE
把它关了,我没尝试是否真能解决,但觉得mod模式万一以后用得到呢,不合适,所以没有采纳。
总归,这连续的报错虽然不影响用,但很难受,我不会改vscode源码,还是按错误提示对应解决吧:
我就在提示的路径下go mod init hello
,相当于初始化了一个虚构的hello模块,就会生成一个go.mod文件,里面会写进一行module hello
和一行go版本信息,把module hello
删掉即可。
换言之,事先在GOPATH
下的pkg\mod
路径下建一个空的go.mod
文件其实也就行了。
延伸:
vscode中go运行的时候也可能warning报类似没有go.mod
文件的问题,我推测也可以类似在.go
同级路径下建一个解决。
更多推荐
所有评论(0)