golang如何解决go get命令无响应问题

 更新时间:2024年12月19日 14:30:53   作者:Mars'Ares  
文章介绍了在Go语言中处理由于官方库被封禁导致依赖下载失败的方法,包括设置代理和直接克隆依赖包到GOPATH/src下

golang go get命令无响应问题

操作

go get -v github.com/golang/net

现象

go get github.com/golang/net: module github.com/golang/net: 
Get https://proxy.golang.org/github.com/golang/net/@v/list: 
dial tcp 216.58.220.209:443: connectex: 
A connection attempt failed because the connected party did not properly respond after a period of time,
 or established connection failed because connected host has failed to respond.

原因

所下载的库依赖有官方库,而官方被封禁网导致。

方法

法一:设置代理

go env -w GOPROXY=https://goproxy.cn

##设置完后 重新执行即可go get
ps:
go1.11发布后,还发布一个goproxy提供代理服务,goproxy.cn是专门服务于中国的,依赖于七牛云
github地址: https://github.com/goproxy

法二:git clone 依赖包直接到GOPATH/src/下

cd /d  %GOPATH%/src/
git clone https://github.com/golang/net.git
ps:https://github.com/golang上为golang.org的镜像依赖包
所以,可以直接使用git clone代替go get

go get 指令没有反应/出错/超时

使用GitHub上的eclipse/paho.mqtt.golang包时,长时间无响应后,弹出以下错误提示

$ go get github.com/eclipse/paho.mqtt.golang

package golang.org/x/net/proxy: unrecognized import path “golang.org/x/net/proxy” (https fetch: Get https://golang.org/x/net/proxy?go-get=1: dial tcp 216.239.37.1:443: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.)

出现这个问题的原因主要还是我们所使用网络的特殊性,导致go get无法拉取我们所需包的源码,从goproxy的官网上的使用分布图就能很明显的看出来:

此时修改一下环境变量启动GOPROXY,再用go get -v即可,-v参数能够显示go get执行的进度

# Enable the go modules feature
export GO111MODULE=on
# Set the GOPROXY environment variable
export GOPROXY=https://goproxy.io

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Go操作mongodb数据库方法示例

    Go操作mongodb数据库方法示例

    这篇文章主要为大家介绍了Go操作mongodb数据库方法示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-09-09
  • go micro微服务proto开发安装及使用规则

    go micro微服务proto开发安装及使用规则

    这篇文章主要为大家介绍了go micro微服务proto开发中安装Protobuf及基本规范字段的规则详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-01-01
  • 一文带你了解Golang中强大的重试机制

    一文带你了解Golang中强大的重试机制

    在 Go 语言中,处理瞬态错误是常见的挑战,这些错误可能会在一段时间后自动恢复,因此,重试机制在这些情况下非常重要,所以本文就来和大家聊聊Golang中强大的重试机制吧
    2025-01-01
  • Go语言中strings.HasPrefix、strings.Split、strings.SplitN() 函数

    Go语言中strings.HasPrefix、strings.Split、strings.SplitN() 函数

    本文主要介绍了Go语言中strings.HasPrefix、strings.Split、strings.SplitN()函数,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-08-08
  • 浅析Go语言中的Range关键字

    浅析Go语言中的Range关键字

    Range是go语言中很独特的一个关键词,也相当好用。下面就跟着小编来再聊聊这个Range关键字,有需要的朋友们可以参考借鉴。
    2016-09-09
  • 解决goxorm无法更新值为默认值的问题

    解决goxorm无法更新值为默认值的问题

    这篇文章主要介绍了解决goxorm无法更新值为默认值的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-12-12
  • go json转换实践中遇到的坑

    go json转换实践中遇到的坑

    在使用 go 语言开发过程中,经常需要使用到 json 包来进行 json 和 struct 的互相转换,这篇文章主要介绍了go json转换实践中遇到的坑,非常具有实用价值,需要的朋友可以参考下
    2018-12-12
  • Go语言接口与多态详细介绍

    Go语言接口与多态详细介绍

    Go语言的接口类型是一组方法定义的集合,它体现了多态性、高内聚和低耦合的设计思想,接口通过interface关键字定义,无需实现具体方法,任何实现了接口所有方法的类型即视为实现了该接口,感兴趣的朋友一起看看吧
    2024-09-09
  • GO语言开发终端命令行小工具改进更新

    GO语言开发终端命令行小工具改进更新

    这篇文章主要为大家介绍了GO语言开发终端命令行小工具的改进更新,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2024-01-01
  • windows下使用vscode搭建golang环境并调试的过程

    windows下使用vscode搭建golang环境并调试的过程

    这篇文章主要介绍了在windows下使用vscode搭建golang环境并进行调试,主要包括安装方法及环境变量配置技巧,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-09-09

最新评论