Golang到 1.11 版才出现 go module 这个官方的管理工具,通常我们使用go mod导入的包是互联网上开源的包,而如果想导入本地自己开发的模块,想直接本地引用,该如何配置呢?
go mod 引用本地模块参考例子如下:
定义一个工具模块
定义一个公共模块
1
2
3
4
5
6
7
8
9
10
11
12
|
module site_common
go 1.17
require (
github.com/gin-gonic/gin v1.8.1
utils v0.0.0-00010101000000-000000000000
)
require github.com/go-sql-driver/mysql v1.6.0 // indirect
replace utils => ../../mods/utils
|
定义一个一个toolSite项目
1
2
3
4
5
6
7
8
9
10
11
12
|
module toolSite
go 1.17
require (
site_common v0.0.0-00010101000000-000000000000
utils v0.0.0-00010101000000-000000000000
)
replace utils => ../../mods/utils
replace site_common => ../../mods/site_common
|
代码工程目录结构如下
总结:
go mod 引用本地模块的步骤包含以下两个要素:
要素1:引用模块使用版本号v0.0.0-00010101000000-000000000000
要素2:使用replace 模块名 => 模块路径 定义模块位置