Go get使用代理

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

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


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

查看所有标签

猜你喜欢:

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

数据驱动设计

数据驱动设计

[美]罗谢尔·肯(RochelleKing)、[美]伊丽莎白F.邱吉尔(Elizabeth F Churchill)、Caitlin Tan / 傅婕 / 机械工业出版社 / 2018-8 / 69.00元

本书旨在帮你了解数据引导设计的基本原则,了解数据与设计流程整合的价值,避免常见的陷阱与误区。本书重点关注定量实验与A/B测试,因为我们发现,数据分析与设计实践在此鲜有交集,但相对的潜在价值与机会缺大。本书提供了一些关于在组织中开展数据实践的观点。通过阅读这本书,你将转变你的团队的工作方式,从数据中获得大收益。后希望你可以在衡量指标的选择、佳展示方式与展示时机、测试以及设计意图增强方面,自信地表达自......一起来看看 《数据驱动设计》 这本书的介绍吧!

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具