win7下go get报错

这里 和这里

go get: module golang.org/x/tools/cmd/goimports: Get "https://proxy.golang.org/golang.org/x/tools/cmd/goimports/@v/list": dial tcp 172.217.160.113: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.

初次使用golang语言下载引用其他模块,使用go get 命令总是报错,发现在国内需要使用需要访问外网,然而在国内是访问不了的!

原因是缺少golang.org/x/net 的依赖包,GitHub已经有托管依赖包,安装下载其依赖包就能解决了:


#%GOPATH%---是安装go时设置的变量名称,GOPATH路径

mkdir -p %GOPATH%\src\golang.org\x 

cd %GOPATH%\src\golang.org\x 

git clone https://github.com/golang/net.git


完成之后,可以go get试一下,比如要安装goimports,

首先进入%GOPATH%/src/golang.org/x目录下


最终解决方法看这里

设置GOPROXY和GO111MODULE环境变量。

关于GOPROXY: 

Go1.11新增的环境变量,如果设置了此环境变量,那么在下载依赖时,会从环境变量设置的代理地址去下载。开源项目goproxyio可以帮助开发者一键构建自己的代理服务。并且提供了一个公用的代理服务https://goproxy.io。设置方法如下:


go1.12及以下: 

Bash (Linux or macOS)

# 启用 Go Modules 功能
export GO111MODULE=on
# 配置 GOPROXY 环境变量
export GOPROXY=https://goproxy.io

PowerShell (Windows)

# 启用 Go Modules 功能
$env:GO111MODULE="on"
# 配置 GOPROXY 环境变量
$env:GOPROXY="https://goproxy.io"

Go1.13及以上

go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.io,direct

# 设置不走 proxy 的私有仓库,多个用逗号相隔(可选)
go env -w GOPRIVATE=*.corp.example.com

# 设置不走 proxy 的私有组织(可选)
go env -w GOPRIVATE=example.com/org_nam

 

win7下设置:

配置环境变量:

GOROOT=D:/GO

GOPATH=D:/go_path

#启用 Go Modules 功能

GO111MODULE=on

#配置 GOPROXY 环境变量

GOPROXY=https://goproxy.io/


安装goimports包: 

D:\go_path>go get -u -v   golang.org/x/tools/cmd/goimports

go: downloading golang.org/x/tools v0.1.7

go: downloading golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e

go: downloading golang.org/x/mod v0.4.2

go: downloading golang.org/x/mod v0.5.1

go: downloading golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1

go: downloading golang.org/x/sys v0.0.0-20211124211545-fe61309f8881

go get: installing executables with 'go get' in module mode is deprecated.

        Use 'go install pkg@version' instead.

        For more information, see https://golang.org/doc/go-get-install-deprecat

ion

        or run 'go help get' or 'go help install'.