如何在dep中使用本地src覆盖供应商软件包(用于本地开发)

时间:2018-12-18 16:08:27

标签: go dep

伪项目设置:

  • $ GOPATH / src / github.com / foo / common-libs
  • $ GOPATH / src / github.com / foo / my-project(依赖于由dep管理的公共库,请复制到/ vendor目录中

找不到一种方法来本地编辑 common-libs (即在/ src中)并使这些更改立即反映在 my-project 中。项目/ vendor文件始终优先于$ GOPATH中的文件。

相反,每次我需要将 common-libs 更改推送到Github,然后在 my-project 中运行dep ensure -update时,这确实很慢而且很烦人

尝试(失败):

  1. 使用ignored = ["github.com/foo/common-libs*"]忽略Gopkg.toml中的本地/ vendor,但引发编译错误:cannot use &amount (type *"github.com/foo/my-project/vendor/github.com/shopspring/decimal".Decimal) as type *"github.com/foo/common-libs/vendor/github.com/shopspring/decimal".Decimal in field value
  2. (暂时)从 my-project 的/ vendor目录中手动删除 common-libs -但这会导致与#1相同的编译错误(并且令人讨厌,因为运行dep ensure会将已删除的文件夹添加回供应商文件夹)。
  3. 在/ vendor中手动编辑 common-libs (暂时)是可行的-但我丢失了静态代码分析,必须将更改复制到实际的 common-libs 之后进行项目。

任何帮助表示赞赏!谢谢。

0 个答案:

没有答案