gpt4 book ai didi

go - 如何在本地处理多个 Go 项目?

转载 作者:行者123 更新时间:2023-12-01 20:26:52 25 4
gpt4 key购买 nike

我正在使用模块进行多个项目。

项目一:github.com/company/project1

/
- /auth
- service.go
- main.go
- go.mod

项目2:github.com/company/project2
/
- /cart
- service.go
- main.go
- go.mod

如果我的 project2/go.mod 中有下一个导入: github.com/company/project1我已经在 Github 上创建了这两个项目。

如何在本地测试这两个项目?我的意思是,不推送测试代码(在 project1 上)并使用 go get github.com/company/project1以前是因为我只想在完成两个代码(project1 和 project2)时推送我的最后一次提交。

最佳答案

@CeriseLimón@oakad在他们的评论中指出,使用 replace在您的 go.mod files 允许使用 repo 的本地副本,而不是要求提交作为依赖项的项目。

项目2的go.mod :

module github.com/company/project2

require (
...
github.com/company/project1 v0.0.0
)

replace github.com/company/project1 => LOCAL_PATH

替换 LOCAL_PATH对于从 project2 到 project1 的相对路径,例如,如果两者都在 $GOPATH/src 下找到, LOCAL_PATH必须替换为 ../project1 (考虑到 project1 目录名为 project1)。如果适用,您还应该将 v0.0.0 替换为另一个版本(也就是说,如果 project1 具有不同的版本,则 requirte block 内的行应指向正确的版本。省略号( ... )表示您的 project2 的任何其他依赖项.

注意:你不应该推 replace github.com/company/project1 => LOCAL_PATH除非每个开发人员都使用相同的相对路径 您有某种自动或手动方式在发布之前删除该行,因为您不希望该行出现在发布中。

关于go - 如何在本地处理多个 Go 项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60555812/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com