
go模块
不同的模块的互相引入
go不像java的pom一样,设置坐标和版本,go只有一个module name,那如何相互引入呢?比如模块A引入模块B,需要将模块B上传到github等仓库,然后引入。 当然也可以本地引入,需要replace指定路径。
本地引入
这里的 v0.0.0 并 不是一个真正的 Git tag,而是一个 占位用的版本号。Go 要求 require 语句必须有一个版本号,即使你马上用 replace 去覆盖它。
由于你没有给项目 B 打过 Git tag(比如 v1.0.0),Go 就无法确定版本,所以你可以手动写一个“假的”版本号
text
module demo
go 1.25
require (
common-util-demo v0.0.0
)
replace common-util-demo => ../common-util-demo
github引入
注意,module的名字要用下面的格式 , 还要打tag
text
module demo
go 1.25
require (
github.com/coder-lzh/common-util-demo v1.0.1
)