golang (5) ---工程管理

1. go mod 添加本地package依赖

go mod 作为golang新的版本管理工具,减少了对GOPATH的依赖。
但是对本地文件的依赖的时候,提示
build server: cannot find module for path *****
处理步骤

  1. 依赖的包生成模块
```

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
欢迎评论交流
原文地址:https://www.cnblogs.com/linengier/p/10702960.html