1. go mod 添加本地package依赖
go mod 作为golang新的版本管理工具,减少了对GOPATH的依赖。
但是对本地文件的依赖的时候,提示
build server: cannot find module for path *****
处理步骤
- 依赖的包生成模块
```
go mod init helloworld
```
2. 工程文件中,go.mod添加依赖配置
require helloworld v0.0.0
replace helloworld v0.0.0 => ../helloworld
如果有多个文件,可以用括号包含多个
require (
gcollect/pkg/cfg v0.0.0 //"local"
gcollect/pkg/event v0.0.0 //"local"
)
replace (
gcollect/pkg/cfg v0.0.0 => ../../pkg/cfg
gcollect/pkg/event v0.0.0 => ../../pkg/event
)
go build 命令中指定了 -mod vendor的时候,找包依赖会去vendor目录下找,修改go.mod后要重新go mod vendor
会把依赖的文件,复制到vendor目录下。
否则会提示找不到文件。
procucer.go:8:2: cannot find package "." in:
/Users/linhaidong/linnode/go/src/gcollect/cmd/collect/vendor/gcollect/pkg/cfg
consumer.go:7:2: cannot find package "." in:
/Users/linhaidong/linnode/go/src/gcollect/cmd/collect/vendor/gcollect/pkg/event
make: *** [all] Error 1