2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > VS Code无法安装Go扩展依赖包问题解决及剖析

VS Code无法安装Go扩展依赖包问题解决及剖析

时间:2021-05-15 15:50:16

相关推荐

VS Code无法安装Go扩展依赖包问题解决及剖析

问题:

在家里按照之前自己写的一篇博客”Go语言开发环境搭建详细教程“进行go语言的开发环境搭建时,发现安装go语言拓展的依赖包时出现错误了,具体错误如下(由于详细错误信息过长,所以下面只截取了部分关键错误信息):

Installing 8 tools at D:\GoProjects\bin

gocode

go-outline

go-symbols

guru

gorename

gocode-gomod

goreturns

golint

Installing /mdempsky/gocode FAILED

Installing /ramya-rao-a/go-outline FAILED

Installing /acroca/go-symbols FAILED

Installing /x/tools/cmd/guru FAILED

Installing /x/tools/cmd/gorename FAILED

Installing /stamblerre/gocode FAILED

Installing /sqs/goreturns FAILED

Installing /x/lint/golint FAILED

8 tools failed to install.

gocode:

Error: Command failed: C:\Go\bin\go.exe get -u -v /mdempsky/gocode

/mdempsky/gocode (download)

Fetching /x/tools/go/gcexportdata?go-get=1

https fetch failed: Get /x/tools/go/gcexportdata?go-get=1: dial tcp 216.239.37.1:443: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.

gocode-gomod:

Error: Command failed: C:\Go\bin\go.exe get -u -v -d /stamblerre/gocode

/stamblerre/gocode (download)

Fetching /x/tools/go/packages?go-get=1

https fetch failed: Get /x/tools/go/packages?go-get=1: dial tcp 216.239.37.1:443: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.

golint:

Error: Command failed: C:\Go\bin\go.exe get -u -v /x/lint/golint

Fetching /x/lint/golint?go-get=1

https fetch failed: Get /x/lint/golint?go-get=1: dial tcp 216.239.37.1:443: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.

原因分析:

根据以上错误信息可以得知,安装gocode和gocode-gomod需要依赖于/x/tools,安装golint需要依赖于/x/lint。但是由于我家里的网络无法访问Go官网(),所以最终导致了依赖包的安装失败。

如何解决?

1、购买vpn,使家里的网络可以访问,然后再进行安装

2、使用golang的镜像仓库

步骤一:查找镜像仓库源

通过网上查阅资料得知,golang 在 github 上建立了一个镜像库,如:/x/net的镜像库,在GitHub上对应的是/golang/net。果然,我在/golang镜像仓库上找到了安装所需的依赖包/golang/tools和/golang/lint

步骤二:获取镜像仓库

通过查看公司正常安装了依赖包的GOPATH目录得知,从golang获取的源码存储于D:\GoProjects\src\\x\目录下面,因此相应的/x/tools和/x/lint的源码也应该存储在对应GOPATH目录下。接下来打开终端command +R,输入cmd回车,通过以下命令进行源码的获取:

注意:以下均根据我本地设置的GOPATH进行操作,读者实际操作时需要根据VS Code设置的GOPATH进行相应的修改。

// 进入VS Code设置的GOPATH的src目录cd /D D:\GoProjects\src// 创建目录,如果已经存在忽略该指令mkdir // 进入目录cd // 创建x目录,如果已经存在忽略该指令mkdir x// 进入x目录cd x// 获取tools源码git clone /golang/tools// 获取lint源码git clone /golang/lint

步骤三:重新安装

重新触发安装go语言扩展提示,并点击install all重新安装,关于如何重新触发安装提示可以参照“Go语言开发环境搭建详细教程”。安装成功后,将得到以下提示:

Installing /mdempsky/gocode SUCCEEDED

Installing /ramya-rao-a/go-outline SUCCEEDED

Installing /acroca/go-symbols SUCCEEDED

Installing /x/tools/cmd/guru SUCCEEDED

Installing /x/tools/cmd/gorename SUCCEEDED

Installing /stamblerre/gocode SUCCEEDED

Installing /sqs/goreturns SUCCEEDED

Installing /x/lint/golint SUCCEEDED

All tools successfully installed. You're ready to Go :).

问题衍生:

至此,我们已经成功解决了VS Code 无法安装Go语言扩展依赖包的问题。通过对问题的分析,实际上我们解决的最终问题是“go get 无法下载golang官网语言包”的问题,所以日后如果遇到无法下载golang官网语言包的问题,也可以通过“使用golang的镜像仓库“的方式进行解决。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。