为了配置go语言环境,需要在vscode中下载相关插件,比如:
go-outline
gotests
gomodifytags
但是我点击install之后,vscode中弹窗显示无法下载插件,于是开始问题的排查
查找日志信息
我是ssh连接服务器进行开发,日志目录在~/.vscode-server/data/logs/
下
找到最近的日志,发现:
Installing github.com/ramya-rao-a/go-outline@latest FAILED
{
"killed": false,
"code": 1,
"signal": null,
"cmd": "/usr/local/go/bin/go install -v github.com/ramya-rao-a/go-outline@latest",
"stdout": "",
"stderr": "go: downloading github.com/ramya-rao-a/go-outline v0.0.0-20210608161538-9736a4bde949\ngo: github.com/ramya-rao-a/go-outline@latest: github.com/ramya-rao-a/go-outline@v0.0.0-20210608161538-9736a4bde949: verifying module: github.com/ramya-rao-a/go-outline@v0.0.0-20210608161538-9736a4bde949: Get \"https://sum.golang.org/lookup/github.com/ramya-rao-a/go-outline@v0.0.0-20210608161538-9736a4bde949\": dial tcp 142.251.42.241:443: connect: connection refused\n"
}
Installing github.com/cweill/gotests/gotests@latest FAILED
{
"killed": false,
"code": 1,
"signal": null,
"cmd": "/usr/local/go/bin/go install -v github.com/cweill/gotests/gotests@latest",
"stdout": "",
"stderr": "go: downloading github.com/cweill/gotests v1.6.0\ngo: github.com/cweill/gotests/gotests@latest: github.com/cweill/gotests@v1.6.0: verifying module: github.com/cweill/gotests@v1.6.0: Get \"https://sum.golang.org/lookup/github.com/cweill/gotests@v1.6.0\": dial tcp 142.251.42.241:443: connect: connection refused\n"
}
看到connect: connection refused
可以判断是插件下载失败(因为墙的原因)
解决办法
https://goproxy.cn/
是一个网站,提供cdn加速服务
命令行输入:
$ go env -w GO111MODULE=on
$ go env -w GOPROXY=https://goproxy.cn,direct
之后重新输入安装命令即可,比如:
go install -v golang.org/x/tools/gopls@latest