windows下解决 go get golang.org/x 包失败

问题描述

当我们使用go get, go run, go build等相关命令时下载golang.org/x/...这样的包时,可能出现下载失败的情况:

go: golang.org/x/text@v0.3.0: unrecognized import path "golang.org/x/text" (https fetch: Get https://golang.org/x/text?go-get=1: dial tcp 216.239.37.1:443: connectex: A connection attempt failed because the connected party did not properlyrespond after a period of time, or established connection failed because connected host has failed to respond.)

解决方法

go modules + goproxy

从 Go 1.11 版本开始,新增 go modules 用于解决包依赖管理问题。

关于 go modules 的知识点,参考:

1、Go1.1.1新功能module的介绍及使用

2、Introduction to Go Modules

3、Go 1.11 Modules 官方说明文档

使用go mod 管理项目,不必把项目放到$GOPATH目录下,你可以把项目代码移动到硬盘的任意目录下(注意如果你的代码库在$GOPATH目录中,go modules功能是默认不会开启的)。对于项目使用go mod模式(即使用go mod init 初始化过项目的),且项目目录不在$GOPATH目录下。使用goproxy来解决下载包超时问题。

通过设置GOPROXY环境变量,下载源代码时将会通过这个环境变量设置的代理地址,而不再是以前的直接从代码库下载。这里感谢http://goproxy.io/这个开源项目。

image.png

对于使用vscode开发go项目的同学,可以下载微软的PowerShell(可理解为升级版的cmd.exe,win7用户需手动下载,win10用户自带)。附下载地址

image.png

在PowerShell中设置GOPROXY环境变量$env:GOPROXY = "https://goproxy.io"
image.png

再在项目下按需go rungo build等即可成功下载之前超时的第三方包

对于使用goland IDE的同学

image.png

如下设置后,重启IDE,打开Teminal后再项目根目录下按需go run或go build等即可成功下载之前超时的第三方包
image.png

``

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 备注:本猿翻译水平有限,请各位看客见谅 翻译内容: go1.11 版本中 go help modules文档内容 ...
    星云数联阅读 2,554评论 0 1
  • 相信有90%以上的读者,在拿到一本书之后,会从目录、序言开始,读到最后一章。 我并不否认这种方法的正确性,但是又我...
    ZP_d2c6阅读 14,514评论 13 291
  • 全职妈妈是世界上最伟大的职业,没有之一。 一天二十四小时,一刻不能放松,就像现在的我,昨晚,小儿子有点哭闹,一晚上...
    夕乔阅读 122评论 0 0
  • 因为不擅长运用色彩,所以寻找理由——对于设计工作而言,色彩意味着什么呢?听说古平先生您不太喜欢在设计作品运用色彩表...
    不再联系_0308阅读 1,470评论 0 0
  • 期末质量调研考试时,监考老师收缴了学生的两张缩印夹带纸条。待老师走后,我反复盯着这两张纸条看,字缩印的极小极小,乍...
    海的波文阅读 1,016评论 9 14