我无法使用go mod加载本地软件包。我有单独的go.mod文件用于repoA和repoB。我在任何地方都找不到解决方案。操作系统是Windows。
$> go version
go version go1.12.7 windows/amd64
当我从 repoA 运行主文件时,我有两个带有存储库的模块。它将尝试找到 repoB 的模块/程序包,然后抛出错误
找不到提供软件包的模块
我的回购结构:-
����repoA
� ����proto
� � ����system
� ����sauth
� ����shandle
� ����smodel
� ����sresponse
����repoB
����common
����config
����proto
����account
����auth
����session
答案 0 :(得分:0)
go.mod
的{{1}}文件的外观如何?
进口应始终是绝对的,例如:
repoA
然后,在import "github.com/Himanshu/repoB"
的{{1}}文件中,您可以添加一个repoA
指令以将“ github.com/Himanshu/repoB”指向本地路径(可以是相对路径)。
答案 1 :(得分:0)
做完几件事后,我的IntelliJ解决了问题。
我有2个文件夹-> repoA和repoB,它们存在于文件夹c:\ goprograms中。运行go mod init examplegoprogram.com/app
。现在,我在goprograms文件夹中看到内容为module examplegoprogram.com/app
的go.mod文件。在repoA中,您现在可以将repoB称为import "examplegoprogram.com/app/repoB"
如果您正在使用新的Intellij Ultimate,请在项目设置Alt + Ctrl + S
的语言和框架-> Go-> Go Modules下启用go模块