我正在开发两个基于 github 的 golang 项目,其中一个项目依赖于另一个项目。
假设我有项目 A (github.com/A),具体取决于项目 B (github.com/B)。所以现在我正在对项目B进行修改,推送代码,并在项目A中执行go get github.com/B
,以获取项目B的最新代码。
这个过程非常耗时,而且对我来说听起来也不合适。我以为GO_PATH位置的项目B的更改文件,但似乎GO_PATH下载的项目是只读的。
有没有更好的方法来做到这一点?
如果您的 golang 版本是 1.18+,您可以利用工作区功能来改善您的开发体验。
让我们使用您的示例,这样我们就有了 github.com/A
,它依赖于 github.com/B
。
workspace
cd
在 workspace
中,然后 go mod init ./A && go work use ./B
workspace
中运行 go 运行 github.com/A
结果是,在本地开发环境中,您将始终使用本地版本的 github.com/B
,因此无需远程同步。
如果您使用的是以前版本的 go,我认为最好的选择是编写一些脚本来自动化此过程