Chinaunix首页 | 论坛 | 博客
  • 博客访问: 8140619
  • 博文数量: 594
  • 博客积分: 13065
  • 博客等级: 上将
  • 技术积分: 10324
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-26 16:44
个人简介

推荐: blog.csdn.net/aquester https://github.com/eyjian https://www.cnblogs.com/aquester http://blog.chinaunix.net/uid/20682147.html

文章分类

全部博文(594)

分类: 云计算

2020-02-21 14:46:41

对如下编译错误:

go build -o hello main.go

build command-line-arguments: cannot load google.golang.org/grpc: module google.golang.org/grpc: Get dial tcp 172.217.24.17:443: i/o timeout

有两个解决办法:

1 代理方式

即在执行前先设置好环境变量“GOPROXY”和“GO111MODULE”:

export GO111MODULE=on

export GOPROXY=或者export GOPROXY=

对于1.13及以上版本,可直接如下这样:

go env -w GOPROXY=,direct

推荐使用七牛云的“goproxy.cn”,因为“goproxy.io”也不一定可用。

自动下载的包被放在用户的主目录(实为GOPATH目录,可执行“go env|grep GOPATH”确认)下,完整路径为:~/go/pkg/mod,如:

$ls -l ~/go/pkg/mod

total 0

drwxr-xr-x  4 guest  staff  128  2 21 14:11 cache

drwxr-xr-x  3 guest  staff   96  2 21 14:11 github.com

drwxr-xr-x  3 guest  staff   96  2 21 14:11 golang.org

drwxr-xr-x  4 guest  staff  128  2 21 14:11 google.golang.org

如遇到如下错误:

go: downloading google.golang.org/grpc v1.27.1

build command-line-arguments: cannot load google.golang.org/grpc: open /Users/guest/go/pkg/mod/cache/download/google.golang.org/grpc/@v/v1.27.1.lock: permission denied

请在执行时加上“sudo”,比如:

sudo go build -o hello hello.go

2 使用“go mod”的“replace”命令,将网络路径改成本地路径,如:

$cat go.mod

module hello

go 1.13

require google.golang.org/grpc v1.27.1 // indirect

replace google.golang.org/grpc => /usr/local/go/src/google.golang.org/grpc

注意,replace中的需出现在require中。

阅读(3347) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~