ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Go模块编译问题及解决方法

2020-02-21 14:55:49  阅读:555  来源: 互联网

标签:google 模块 grpc golang 编译 go Go org mod


对如下编译错误:

go build -o hello main.go

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

 

有两个解决办法:

1 代理方式

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

export GO111MODULE=on

export GOPROXY=https://goproxy.io或者export GOPROXY=https://goproxy.cn

 

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

go env -w GOPROXY=https://goproxy.cn,direct

 

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

自动下载的包被放在用户的主目录下,完整路径为:~/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中。

标签:google,模块,grpc,golang,编译,go,Go,org,mod
来源: https://www.cnblogs.com/aquester/p/12341348.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有