go get 添加 goproxy.io 代理后无法安装模块,有替代的解决方案吗?

问题原因

因为想要安装一个mqtt的模块github.com/eclipse/paho.mqtt.golang用于mqtt的相关开发,但是由于我大天朝封禁的原因,我选择使用了goproxy.iohttps://goproxy.io/zh/等其他的一些来做代理进行模块的安装。
配置完后我使用go get命令发现无法安装,在 stack overflow 看到有老哥遇到同样的问题,我依照解决后,问题依旧。

复现

开启代理后测试

root@tianxi-PC:~# go get github.com/eclipse/paho.mqtt.golang
go get github.com/eclipse/paho.mqtt.golang: module github.com/eclipse/paho.mqtt.golang: Get "https://goproxy.io/github.com/eclipse/paho.mqtt.golang/@v/list": proxyconnect tcp: EOF
root@tianxi-PC:~# 

关闭代理后测试

root@tianxi-PC:~# go get github.com/eclipse/paho.mqtt.golang
# cd .; git clone -- https://github.com/eclipse/paho.mqtt.golang /root/go/src/github.com/eclipse/paho.mqtt.golang
正克隆到 '/root/go/src/github.com/eclipse/paho.mqtt.golang'...
fatal: unable to access 'https://github.com/eclipse/paho.mqtt.golang/': gnutls_handshake() failed: The TLS connection was non-properly terminated.
package github.com/eclipse/paho.mqtt.golang: exit status 128
root@tianxi-PC:~# 

配置

root@tianxi-PC:~# go env
GO111MODULE="on"
GOARCH="amd64"
GOBIN=""
GOCACHE="/root/.cache/go-build"
GOENV="/root/.config/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOINSECURE=""
GONOPROXY=""
GONOSUMDB=""
GOOS="linux"
GOPATH="/root/go"
GOPRIVATE=""
GOPROXY="https://goproxy.io"
GOROOT="/usr/local/go"
GOSUMDB="on"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
GCCGO="gccgo"
AR="ar"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD="/dev/null"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build524305579=/tmp/go-build -gno-record-gcc-switches"
root@tianxi-PC:~# 

在这种情况下我该如何处理才能正常使用go get命令安装模块?

最佳答案

goproxy.cn/ 这个了解一下,比 io 要快一些

3年前 评论
讨论数量: 4

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!