美文网首页
windows下解决 go get golang.org/x 包

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

作者: 芳草相依 | 来源:发表于2019-04-24 16:21 被阅读0次

    问题描述

    当我们使用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

    ``

    相关文章

      网友评论

          本文标题:windows下解决 go get golang.org/x 包

          本文链接:https://www.haomeiwen.com/subject/biuggqtx.html