3

伪项目设置:

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

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

相反,每次我需要将common-libs更改推送到 Github 然后dep ensure -update我的项目中运行——这真的很慢而且很烦人。

尝试(不成功):

  1. 使用 忽略 Gopkg.toml 中的本地 /vendor ignored = ["github.com/foo/common-libs*"],但会引发编译错误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 相同的编译错误(并且很烦人,因为运行会将已删除的文件夹添加回 vendor 文件夹)。dep ensure
  3. 手动编辑/vendor 中的 common-libs(临时),这是可行的——但我失去了静态代码分析,之后我必须将更改复制到实际的common-libs项目中。

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

4

0 回答 0