为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

Go
FFIVE 2022-05-18 16:57:38
我正在使用模块进行多个项目。项目一: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 中有下一个 import:github.com/company/project1并且我已经在 Github 上创建了这两个项目。如何在本地测试这两个项目?我的意思是,没有推送测试代码(在 project1 上)并且之前使用go get github.com/company/project1过,因为我只想在完成两个代码(project1 和 project2)时推送我的最后一次提交。
查看完整描述

1 回答

?
汪汪一只猫

TA贡献1898条经验 获得超8个赞

正如@CeriseLimón和@oakad在他们的评论中指出的那样,replace在您的go.mod文件中使用允许使用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 块内的行应指向正确的版本。省略号 ( ...) 表示您的 project2 的任何其他依赖项。


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


查看完整回答
反对 回复 2022-05-18
  • 1 回答
  • 0 关注
  • 108 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信