【Go + VS Code】环境初始化踩坑记录

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: 一般会自动联想到以下,选中执行,其实就是安相关插件,全选。
Pasted image 20240531222139.png
Pasted image 20240531215619.png
然后装的时候又报错
Failed while handling 'FileSystemWatcher.onDidCreate': EntryNotFound (FileSystemError): Error ...
Pasted image 20240531220401.png

显示又是安装成功了
参考了
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删掉即可。
Pasted image 20240531221602.png
换言之,事先在GOPATH下的pkg\mod路径下建一个空的go.mod文件其实也就行了。
延伸:
vscode中go运行的时候也可能warning报类似没有go.mod文件的问题,我推测也可以类似在.go同级路径下建一个解决。

  • 17
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值