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下测试,包路径分隔符可以是“/”也可以是“\”,都可以编译通过。


相关阅读 >>

docker为何选择Golang开发?

Golang json格式化自定义日期格式

Golang几种字符拼接性能分析

图文讲解Godoc的安装与使用

基于Golang的手机号格式验证和邮箱格式验证

Golang reflect反射调用函数

一周 Go world 新鲜事

Gocn酷Go推荐】protobuf生成Go代码插件GoGo/protobuf

Go高级进阶:Goroutine的创建、休眠与恢复

Golang单元测试踩坑系列(一)

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




打赏

取消

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

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

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

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

评论

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