繁体   English   中英

构建命令行参数:无法加载本地包:找不到提供包的模块

[英]build command-line-arguments: cannot load local package: cannot find module providing package

我无法使用 go mod 加载本地包。 我有 repoA 和 repoB 的单独 go.mod 文件。 我在任何地方都找不到解决方案。 操作系统是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

go.mod文件repoA看?

进口应始终是绝对的,例如:

import "github.com/Himanshu/repoB"

然后,在repoAgo.mod文件中,您可以添加replace指令以将“github.com/Himanshu/repoB”指向本地路径(可能是相对的)。

请务必阅读Modules wiki的相关部分和关于模块官方博客文章

做了几件事后,我的 IntelliJ 解决了这个问题。

  1. 初始化项目中的go模块并
  2. 使用绝对路径引用包。

我有 2 个文件夹 -> repoA 和 repoB,它们位于文件夹 c:\\goprograms 中。 运行go mod init examplegoprogram.com/app 现在,我在 goprograms 文件夹中看到 go.mod 文件,其中包含内容module examplegoprogram.com/app 在 repoA 中,您现在可以将 repoB 称为import "examplegoprogram.com/app/repoB"

如果您使用的是新的 Intellij Ultimate,请在项目设置下启用 go modules Alt + Ctrl + S Languages & Frameworks -> Go -> Go Modules

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM