GOPATH可以将其理解为工作目录,在这个工作目录下,通常有如下的目录结构
每个目录存放的文件,都不相同
将你的包或者别人的包全部放在 $GOPATH/src 目录下进行管理的方式,我们称之为 GOPATH 模式。
可以通过下面的命令来设置:
go env -w GO111MODULE=on
如何设置环境变量呢?
module dhy/goTest
go 1.18
require github.com/aceld/zinx v0.0.0-20200315073925-f09df55dc746 // indirect
github.com/aceld/zinx v0.0.0-20200315073925-f09df55dc746 h1:TturbcEfboY81jsKVSQtGkqk8FN8ag0TmKYzaFHflmQ=
github.com/aceld/zinx v0.0.0-20200315073925-f09df55dc746/go.mod h1:bMiERrPdR8FzpBOo86nhWWmeHJ1cCaqVvWKCGcDVJ5M=
github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw=
我们可以对导包的请求路径进行重定向,通过replace完成:
//-replace=旧依赖版本=新依赖版本
go mod edit -replace=zinx@v0.0.0-20200306023939bc416543ae24=zinx@v0.0.0-20200221135252-8a8954e75100
go mod⽂件就会被修改
module github.com/aceld/modules_test
go 1.14
require github.com/aceld/zinx v0.0.0-20200306023939-bc416543ae24 // indirect
//当寻找到github.com/aceld/zinx v0.0.0-20200306023939-bc416543ae24依赖时,会自动重定向到zinx v0.0.0-20200221135252-8a8954e75100
replace zinx v0.0.0-20200306023939-bc416543ae24 => zinx v0.0.0-20200221135252-8a8954e75100