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

如何配置go mod以具有基于环境变量的 require 版本?

如何配置go mod以具有基于环境变量的 require 版本?

Go
料青山看我应如是 2022-08-30 21:28:10
我有两个内部项目。项目 1 - 文件go.modgo github.com/company/project1 go 1.16require github.com/company/project2 v1.1.0 // indirect项目 2 - 文件go.modgo github.com/company/project2 go 1.16Project1 依赖于基于上述 go.mod 文件的 Project2。当 Project2 在多个环境中移动时,它需要依赖于不同版本的 Project1。例如,基于环境变量:如果环境 = 负载Project1 depends on 1.1.0-<ENVIRONMENT> version of Project2如果环境 = 测试Project1 depends on 1.1.0-<ENVIRONMENT>.<DATE> version of Project2这可以动态完成而不每次都修改文件吗?go.mod
查看完整描述

1 回答

?
holdtom

TA贡献1805条经验 获得超10个赞

这可以动态完成而不每次都修改go.mod文件吗?

不是我所知道的:您的部署过程应该包括一个go mod替换如此处所示),以便更新project2依赖项,具体取决于当前的部署环境。

如果该部署涉及 git 克隆,则可以考虑使用内容筛选器驱动程序(如此处所示)在结账时自动执行该更改。

但是,如果这是通过Go完成的,那么a更好。go mod replace


注意:由于实施的复杂性,问题 27824(:使用环境变量进行替换)已于 2019 年关闭。
问题 33586(:替换语句中的支持)仍处于打开状态。go.modgo.mod~


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

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号