以前我用过go dep,不过现在office确保官方工具是go mod。
当我使用时go dep,我可以将本地依赖包添加到供应商并ignored忽略Gopkg.toml从 repo 搜索包。我可以go dep update正常执行。
现在我用go mod了,我也给vendor添加本地依赖包,添加exclude进去go.mod。但是当我执行时go mod tidy,即使我的项目存在,它也会删除包import xxx。
我做了什么:
- 创建新项目
- 执行 go mod init
修改 go.mod
exclude privaterepo.com/bb/bb将我的本地模块复制到供应商,因为本地模块位于不支持 https 的私有仓库上。
- 现在供应商就像:
vendor |-github.com/aa/aa |-privaterepo.com/bb/bb - 导入“privaterepo.com/bb/bb”
- 执行 go build -mod vendor
- 比我得到错误“找不到路径 privaterepo.com/bb/bb 的模块” 9 总是尝试替换,但它也不起作用
那么,我应该怎么做才能将本地包添加到供应商并避免go mod将其删除?