问题来源:自己写了一个小框架,想单独放到项目外面方便多项目引入使用。但是放到“$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下测试,包路径分隔符可以是“/”也可以是“\”,都可以编译通过。
有疑问加站长微信联系(非本文作者)