go安装gin框架失败错误解决:sum.golang.org被墙

本文解决了一个常见的Go开发问题,当使用go get命令安装依赖时,由于GOSUMDB默认设置为sum.golang.org,该地址在国内可能被墙导致连接失败。文章提供了关闭GOSUMDB的解决方案,并建议切换国内源以避免类似问题。

go版本:

go version go1.13.6 windows/amd64

在使用下面命令准备安装gin试用一下时,发现,是不是卡主,然后直接报错:

go get -u github.com/gin-gonic/gin


go: finding github.com/gin-gonic/gin v1.5.0
go: downloading github.com/gin-gonic/gin v1.5.0
verifying github.com/gin-gonic/gin@v1.5.0: github.com/gin-gonic/gin@v1.5.0: Get https://sum.golang.org/lookup/github.com/gin-gonic/gin@v1.5.0: dial tcp 172.217.160.81:443: connectex: A connection attempt failed because the connected party did not properly respond a
fter a period of time, or established connection failed because connected host has failed to respond.

一开始非常的奇怪,单独拿地址也可以正常访问啊,因为本人vpn就没关过,关闭了VPN后发现地址竟然被墙了,坑爹,这为啥啊!

然后查了问题是自go1.13版本后设置了默认的GOSUMDB=sum.golang.org,但地址是被墙了的,需要命令关闭:

go env -w GOSUMDB=off

 重新运行安装命令,直接通过。

2021-11-22 更新

如果不可以可以考虑切换国内源,因为有些网络github访问受限

go env -w GO111MODULE=on
go env -w GOPROXY=https://mirrors.aliyun.com/goproxy/,direct

 

 

### 解决 `go: could not create module cache: mkdir /home/~: permission denied` 问题 该错误表明Go在尝试创建模块缓存目录时,没有足够的权限在 `/home/~` 目录下创建文件夹。可以采取以下方法解决: - **检查并修改目录权限**:使用 `chmod` 命令修改 `/home/~/GoCode` 目录及其父目录的权限,确保当前用户有足够的权限进行操作。 ```bash chmod -R 755 /home/~/GoCode ``` 上述命令中,`-R` 表示递归修改权限,`755` 表示该目录所有者有读、写、执行权限,而所属组和其他用户有读和执行权限。 - **检查并修改目录所有者**:使用 `chown` 命令将 `/home/~/GoCode` 目录的所有者修改为当前用户。 ```bash chown -R $(whoami):$(whoami) /home/~/GoCode ``` 这里 `$(whoami)` 用于获取当前用户名,`-R` 同样表示递归修改。 - **修改Go模块缓存目录**:通过设置 `GOMODCACHE` 环境变量,将Go模块缓存目录指定到一个当前用户有足够权限的目录。 ```bash export GOMODCACHE=/home/$(whoami)/.go-mod-cache ``` 可以将上述命令添加到 `.bashrc` 或 `.zshrc` 文件中,使其永久生效。 ```bash echo 'export GOMODCACHE=/home/$(whoami)/.go-mod-cache' >> ~/.bashrc source ~/.bashrc ``` ### 解决 `go: github.com/gin-gonic/gin@v1.11.0: verifying module: github.com/gin-gonic/gin@v1.11.0: open /home/~/GoCode/pkg/sumdb/sum.golang.org/latest: no such file or directory` 问题 此错误可能是由于Go模块缓存损坏或网络问题导致无法正确下载模块。可以尝试以下方法: - **设置Go代理**:由于Go的许多插件在国外,国内访问可能受限,需要设置代理等配置。 ```bash go env -w GOPROXY=https://goproxy.io,direct go env -w GO111MODULE=on ``` - **清理Go模块缓存**:使用 `go clean` 命令清理Go模块缓存,然后重新下载依赖。 ```bash go clean -modcache go mod tidy ```
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值