go mod 遇到的问题:permission denied & time out

使用go mod出现permission denied的问题,查找资料后发现是因为没有权限修改GOPATH链接的地址(module存储的地方),按常规操作直接在命令前加了sudo,此时不再出现权限问题(不当操作,请勿模仿) 。

命令行执行go env展示go相关的环境变量,其中GOROOT表示安装路径,GOPATH路径存放sdk以外的第三方类库

以为没问题了但在下载module时出现time out问题,进一步查资料发现是GOPROXY指向的网址ping不通,网上建议是改成中国的镜像网站(https://goproxy.cn等)
go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.io,direct

GOPROXY也在go env列出的环境变量之中,默认为https://proxy.golang.org,direct,可以通过go env -w更改为中国镜像网站
注意需要保证go module已开启,可通过go env -w GO111MODULE=on进行设置

关于GOPROXY和国内镜像网站的具体信息可以查看干货满满的 Go Modules 和 goproxy.cn

但是通过go env -w修改后发现修改未生效,go仍旧按原网址下载module,之后尝试过export甚至直接修改~./profile文件均无效。后发现是因为sudo的问题,我修改的代理地址(GOPROXY)是user环境,但sudo是在root环境下运行的,导致修改未生效。所以解决permission denied的正确做法应该是修改GOPATH到一个用户目录(用户有权限修改)。同样可以通过go env -w进行修改。
具体可参考问题:设置了GOPROXY还是出现i/o timeout #93

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值