官方golang包管理神器
怎么用
找到你的项目,直接执行
go mod init main.go
go.mod
$ cat go.mod
module collector_go
go 1.14
require (
github.com/gogo/protobuf v1.3.1 // indirect
github.com/golang/protobuf v1.4.2
google.golang.org/protobuf v1.23.0
)
buildrun
go build -o ./collector_go main.go
有一个小前提
golang=1.12GO111MODULEonauto
go env GO111MODULE=on
他解决了什么问题
原来的包管理方式
Go$GOPATH/srcsrc
新的包管理模式解决了以上问题
$GOPATH/srcgo.modreplace
tips
Q1: 我的包下哪去了
$GOPATH/pkg/mod
GO111MODULEautoonoff
autosrcongo.modoffsrc
Q3: 依赖包中的地址失效了怎么办比如 golang. org/x/… 下的包都无法下载怎么办
go.modreplace
replace golang.org/x/text = github.com/golang/text latest
gogithub.com/golang/textgolang.org/x/text
go mod
go.modmodule mainmainimport "项目名/模块名"
Go 1.13