Golang Go语言中 go mod 的本地引用的问题
Golang Go语言中 go mod 的本地引用的问题
本地有 A 和 B 两个项目(A,B 都分别使用 go mod 管理)
B 项目引用 A 项目中的方法会报这个错:
malformed module path “xxx”: missing dot in first path element
go mod
replace xxx v0.0.0 => …/xxx
更多关于Golang Go语言中 go mod 的本地引用的问题的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html
要用域名,不然怎么知道去哪里下载源码?
域名不一定用公网解析的,内网 dns 能解析到的也可以,例如 foo.bar 解析到 192.168.8.8 这样。
go mod 这点比较坑
我是 git submodule + go mod edit -replace
在Golang中,go mod
是管理项目依赖的核心工具,它允许你定义、记录和版本控制你的项目依赖。对于本地引用的需求,比如你想在一个项目中引用另一个位于本地文件系统中的模块,go mod
提供了一种便捷的方式来实现这一点。
要实现本地模块引用,你可以使用 replace
指令在 go.mod
文件中指定一个模块的替代路径。这通常用于开发过程中,当你正在对某个模块进行迭代,并希望直接在主项目中测试这些更改时。
例如,假设你有一个本地模块位于 /path/to/local/module
,并且该模块在远程仓库中的路径是 example.com/mymodule
。你可以在 go.mod
文件中添加如下 replace
指令:
replace example.com/mymodule => /path/to/local/module
这样,当你运行 go build
、go test
或其他 go
命令时,Go 工具链会使用你指定的本地路径来解析 example.com/mymodule
。
需要注意的是,replace
指令是临时的,它不会影响到其他开发者或CI/CD流水线,除非你将这些更改也提交到版本控制系统中。在生产环境中,通常应避免使用本地路径依赖,而是使用正式发布和版本化的模块。
希望这能帮助你解决 go mod
本地引用的问题!如果有更多疑问,欢迎继续提问。