【现象】
从go vendor切换到go module之后,import包解析有问题。如下所示:
对应的go modules也没解析出来
【原因】
有两点原因:
goland中go module配置存在问题
goland的版本2019.2存在问题
【goland 中配置】
goroot配置:
gopath配置:
go modules配置:
此处环境变量的配置整理如下:
序号 | 名称 | 值 |
---|---|---|
1 | GOPROXY | http://mirrors.tools.huawei.com/goproxy/,direct |
2 | GOBIN | D:\Go\bin |
3 | GO111MODULE | on |
注意goland的2019.2版本存在问题,升级到公司最新的goland,可解决大部分问题。
【gomode操作】
在goland的terminal界面进行操作
查看env
1 | D:\workSpace\minxdl\volcano.sh\volcano>go env |
2 | set GO111MODULE=on |
3 | set GOARCH=amd64 |
4 | set GOBIN= |
5 | set GOCACHE=C:\Users\b00405144\AppData\Local\go-build |
6 | set GOENV=C:\Users\b00405144\AppData\Roaming\go\env |
7 | set GOEXE=.exe |
8 | set GOFLAGS= |
9 | set GOHOSTARCH=amd64 |
10 | set GOHOSTOS=windows |
11 | set GOINSECURE= |
12 | set GOMODCACHE=D:\workSpace\minxdl\pkg\mod |
13 | set GONOPROXY= |
14 | set GONOSUMDB=* |
15 | set GOOS=windows |
16 | set GOPATH=D:\workSpace\minxdl |
17 | set GOPRIVATE= |
18 | set GOPROXY=http://mirrors.tools.huawei.com/goproxy/,direct |
19 | set GOROOT=D:\Go |
20 | set GOSUMDB=sum.golang.org |
21 | set GOTMPDIR= |
22 | set GOTOOLDIR=D:\Go\pkg\tool\windows_amd64 |
23 | set GOVCS= |
24 | set GOVERSION=go1.16.6 |
25 | set GCCGO=gccgo |
26 | set AR=ar |
27 | set CC=gcc |
28 | set CXX=g++ |
29 | set CGO_ENABLED=1 |
30 | set GOMOD=D:\workSpace\minxdl\volcano.sh\volcano\go.mod |
31 | set CGO_CFLAGS=-g -O2 |
32 | set CGO_CPPFLAGS= |
33 | set CGO_CXXFLAGS=-g -O2 |
34 | set CGO_FFLAGS=-g -O2 |
35 | set CGO_LDFLAGS=-g -O2 |
36 | set PKG_CONFIG=pkg-config |
37 | set GOGCCFLAGS=-m64 -mthreads -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=C:\Users\B00405~1\AppData\Local\Temp\go-build3613527523=/tmp/go-bui |
38 | ld -gno-record-gcc-switches |
go mod命令说明如下:
序号 | 命令 | 说明 |
---|---|---|
1 | download | 下载依赖包 |
2 | edit | 编辑go.mod |
3 | graph | 打印模块依赖图 |
4 | init | 在当前目录初始化mod |
5 | tidy | 拉取缺少的模块,移除不用的模块 |
6 | vendor | 将依赖复制到vendor下 |
7 | verify | 验证依赖是否正确 |
8 | why | 解释为什么需要依赖 |
操作如下:
1 | D:\workSpace\minxdl\volcano.sh\volcano>go mod tidy |
2 | |
3 | D:\workSpace\minxdl\volcano.sh\volcano>go mod download |
4 | |
5 | D:\workSpace\minxdl\volcano.sh\volcano>go mod vendor |
6 | |
7 | D:\workSpace\minxdl\volcano.sh\volcano> |
8 |