内容简介:在vscode中使用golang时,经常会出现安装第三方工具的时候失败的问题,一般来说都是下载了go get默认使用git来作为版本管理工具,如果对git设置了代理能否下载成功呢?很遗憾,即使你对git设置了代理,也无法成功的下载安装
在vscode中使用golang时,经常会出现安装第三方 工具 的时候失败的问题,一般来说都是下载了 golang.org/x/...
下面的包或者要下载的工具依赖于 golang.org/x/...
的包所导致的,在国内是不会很顺利的下载和安装的。
Installing github.com/mdempsky/gocode FAILED Installing github.com/uudashr/gopkgs/cmd/gopkgs FAILED Installing github.com/ramya-rao-a/go-outline FAILED Installing github.com/acroca/go-symbols FAILED Installing golang.org/x/tools/cmd/guru FAILED Installing golang.org/x/tools/cmd/gorename FAILED Installing github.com/go-delve/delve/cmd/dlv FAILED Installing github.com/rogpeppe/godef FAILED Installing golang.org/x/tools/cmd/goimports FAILED Installing golang.org/x/lint/golint FAILED
go get默认使用git来作为版本管理工具,如果对git设置了代理能否下载成功呢?
git config --global http.proxy 'http://127.0.0.1:8123' git config --global https.proxy 'http://127.0.0.1:8123'
很遗憾,即使你对git设置了代理,也无法成功的下载安装 golang.org
下的包,假如你要安装 golang.org/x/tools/cmd/guru
这个包,当你使用go get去下载安装包时,首先会访问 https://golang.org/x/tools/cmd/guru?go-get=1
这个url来获取版本库的类型,是git还是svn或者其他的版本管理工具,这个http请求是git之外的,所以这有对这个http请求设置了代理,然后对git设置代理,才能成功的下载安装该库。
# 在终端中执行 export https_proxy=http://127.0.0.1:8123 export http_proxy=http://127.0.0.1:8123 git config --global http.proxy 'http://127.0.0.1:8123' git config --global https.proxy 'http://127.0.0.1:8123'
前提是你拥有一个http或者socks代理,如果没有的话,还是老老实实的在 github.com/golang/...
上下载对应的包然后进行替换吧。
设置了代理之后,再次执行go get命令:
go get -v github.com/acroca/go-symbols golang.org/x/tools/go/buildutil # golang.org/x/tools/go/buildutil Workbench/golang/src/golang.org/x/tools/go/buildutil/buildutil_go16.go:14:38: undefined: build.AllowVendor
这次又出错了,原因应该是 golang.org/x/tools/go/buildutil
包太老了,直接更新相关的依赖包即可:
go get -v -u github.com/acroca/go-symbols github.com/acroca/go-symbols (download) Fetching https://golang.org/x/tools/go/buildutil?go-get=1 Parsing meta tags from https://golang.org/x/tools/go/buildutil?go-get=1 (status code 200) get "golang.org/x/tools/go/buildutil": found meta tag get.metaImport{Prefix:"golang.org/x/tools", VCS:"git", RepoRoot:"https://go.googlesource.com/tools"} at https://golang.org/x/tools/go/buildutil?go-get=1 get "golang.org/x/tools/go/buildutil": verifying non-authoritative meta tag Fetching https://golang.org/x/tools?go-get=1 Parsing meta tags from https://golang.org/x/tools?go-get=1 (status code 200) package golang.org/x/tools/go/buildutil: golang.org/x/tools is a custom import path for https://go.googlesource.com/tools, but /home/lu/Workbench/golang/src/golang.org/x/tools is checked out from https://github.com/golang/tools
这次就成功更新并安装了,重启vscode,各项功能也正常了。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- Java 静态代理和动态代理的使用及原理解析
- 使用Nginx代理上网
- 使用shadowtunnel配置多级代理
- 使用 Javassist 实现动态代理
- 使用Nginx做反向代理,设置请求返回时带上被代理机器的信息
- 使用 AJP 方式配置反向代理
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。