go mod
可以使项目从GOPATH的强制依赖中独立出来,也就是说你的项目依赖不再需要放在在GOPATH下面了,每个工程的依赖包、版本可由当前工程独立管理!
mod操作记录
-
export GO111MODULE=on
-
go mod init github.com/mutex73/ga
可以手动增加依赖
go.uber.org/atomic v1.4.0
或者让go自动发现和维护,下面build中会自动发现依赖包 -
go build src/practice/mod/vendor_test.go
vendor_test.go文件中增加了import "go.uber.org/zap"的语句,IDE提示报错,执行build后依赖包记录在go.mod中
module github.com/mutex73/ga go 1.12 require ( go.uber.org/atomic v1.4.0 // indirect go.uber.org/multierr v1.1.0 // indirect go.uber.org/zap v1.10.0 )
-
go mod download
依赖包会自动下载到
$GOPATH/pkg/mod
,多个项目可以共享缓存的mod
-
go mod vendor
从mod中拷贝到项目的
vendor
目录下,这样IDE就可以识别了!