2

I am unable to load local package using go mod. I have seperate go.mod files for repoA and repoB. I have found no solution anywhere. OS is windows.

$> go version
go version go1.12.7 windows/amd64

I have two modules with repository, when I run main file from repoA. It will try to find module/package of repoB, then it throws an error saying

cannot find module providing package

My repo structure :-

����repoA
�   ����proto
�   �   ����system
�   ����sauth
�   ����shandle
�   ����smodel
�   ����sresponse
����repoB
    ����common
    ����config
    ����proto
        ����account
        ����auth
        ����session
Himanshu
  • 12,071
  • 7
  • 46
  • 61

2 Answers2

0

How does the go.mod file of repoA look?

Imports should always be absolute, e.g.:

import "github.com/Himanshu/repoB"

Then, in repoA's go.mod file you can add a replace directive to point "github.com/Himanshu/repoB" to a local path (could be relative).

Make sure to read the relevant parts of the Modules wiki and the official blog post on modules

Eli Bendersky
  • 263,248
  • 89
  • 350
  • 412
0

After doing couple of things the issue got resolved with my IntelliJ.

  1. Initialize the go module in the project and
  2. Refer package with absolute path.

I have 2 folders -> repoA and repoB which are present in folder c:\goprograms. Run go mod init examplegoprogram.com/app. Now, I see go.mod file in goprograms folder with content module examplegoprogram.com/app. In repoA, you can now refer repoB as import "examplegoprogram.com/app/repoB"

If you are using new Intellij Ultimate, enable go modules under Project settings Alt + Ctrl + S Languages & Frameworks -> Go -> Go Modules

user669789
  • 554
  • 4
  • 10
  • 23