go-module迁移解决的问题:
1:可以选择依赖的第三方库版本,这样可以解决有些新旧版本依赖出现问题的情况
2:可以解决本地代码的冗余问题,他会在$HOME/go/pkg/mod下面建立目录保存库的情况
迁移步骤:
- 当前会话打开go-module:export GO111MODULE="on" 全局打开go-module用:go env -w GO111MODULE=on
- 初始化go.mod:go mod init [host/namespace/module-name] 比如:go mod init code.aliyun.com/nextdata/xxx
- 将库替换为域名+本地路径。
- go install xxxx.go执行
报错1:Get "https://goproxy.io/github.com/cos-go/@v/list": x509: certificate has expired or is not yet valid: current time 2020-06-03T10:23:37+08:00 is after 2020-05-30T10:48:38Z
解决1:将go env -w GOPROXY=https://goproxy.io,direct改为go env -w GOPROXY=https://goproxy.cn,direct
报错2: cannot find module providing package xxx: invalid github.com/ import path "xxx"
解决2:将本地存在的库,但是远程拉取失败的,自己建一个git仓库进行拉取。
报错3:如果遇到拉取不下来的域名地址,
解决3:使用go env -w GOPROXY=https://goproxy.cn,direct设置全局代理
报错4:编译时,提示:$GOPATH/go.mod exists but should not
解决4:设置了 GOPATH,把相应设置去掉即可。