Go get使用代理

栏目: Go · 发布时间: 6年前

内容简介:在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,各项功能也正常了。


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

图解网站分析(修订版)

图解网站分析(修订版)

[日] 小川卓 / 沈麟芸 / 人民邮电出版社 / 2014-10 / 69.00元

本书以图配文,结合实例详细讲解了如何利用从网站上获取的各种数据了解网站的运营状况,如何从数据中攫取最有用的信息,如何优化站点,创造更大的网站价值。本书适合各类网站运营人员阅读。 第1 部分介绍了进行网站分析必备的基础知识。第2 部分详细讲解了如何明确网站现状,发现并改善网站的问题。第3 部分是关于流量获取和网站内渠道优化的问题。第4 部分介绍了一些更加先进的网站分析方法,其中详细讲解了如何分......一起来看看 《图解网站分析(修订版)》 这本书的介绍吧!

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

MD5 加密
MD5 加密

MD5 加密工具

html转js在线工具
html转js在线工具

html转js在线工具