go module 引入本地包的问题


本文摘自网络,作者jiangjie,侵删。

问题来源:自己写了一个小框架,想单独放到项目外面方便多项目引入使用。但是放到“$GOPATH/pkg/mod”下不能直接用,各种报错,后经过各种试验最终编译通过,总结下来就以下几点,分享给大家。

项目是放到“project”文件夹下的,想要引入的包是“frame”,这两个文件夹可以各自在计算机磁盘任意位置。

该文章使用go版本号1.16.5

/*
项目文件中的"go.mod"文件:
module project
go 1.16
require frame v1.0.0
replace frame v1.0.0 => D:\workspace\go\pkg\mod\frame@v1.0.0

被引入包的"go.mod"文件:
module frame
go 1.16
*/
1、首先被引入的包必须有"go.mod"文件
2、项目中"go.mod"文件中"require"标识的包必须有版本号
3、项目中"go.mod"文件中"replace"标识的且"=>"前的包可以有版本号也可以没有
4、项目中"go.mod"文件中"replace"标识的且"=>"后的数据是该包的路径,可以是绝对路径也可以是相对路径,路径带版本号也得写进去

ps:在Windows/">windows下测试,包路径分隔符可以是“/”也可以是“\”,都可以编译通过。


相关阅读 >>

Golang约瑟夫问题

Golang 什么时候使用指针

Golang获取两个日期的自然天之差

Gocn酷Go推荐】Go程序配置利器-viper库

手撸Golang 仿spring ioc/aop 之8 扫码3

Golang判断字符串是否数字的方法

Golang中的错误处理方法

easydss如何定制Go语言生成csv文件?

使用 Go 1.16 的 signal.notifycontext 让你的服务重启更优雅

关于在c++中结构体与json字符串互转的问题

更多相关阅读请进入《Go》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...