伪项目设置:
- $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
在我的项目中运行——这真的很慢而且很烦人。
尝试(不成功):
- 使用 忽略 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
:) - 手动从my-project的 /vendor 目录中删除common-libs(临时)——但这会导致与 #1 相同的编译错误(并且很烦人,因为运行会将已删除的文件夹添加回 vendor 文件夹)。
dep ensure
- 手动编辑/vendor 中的 common-libs(临时),这是可行的——但我失去了静态代码分析,之后我必须将更改复制到实际的common-libs项目中。
任何帮助表示赞赏!谢谢。