Skip to content

Troubleshooting and resolving the error when running Go Module tests in IDEA: module ... does not contain package ... ​

Go Module test error diagram

Background ​

The project uses Go Modules,go.mod The statement is as follows:

go
module github.com/fishfinal/apply/v2

go 1.26.6

require (
    github.com/channellabs/capacity v1.2.0
)

The project physical path is located at $GOPATH/src/github.com/fishfinal/apply.

main.go The import path of its own package in it is correct, for example:

go
import (
    "github.com/fishfinal/apply/v2/cmd/applygenctl/config"
    "github.com/fishfinal/apply/v2/cmd/applygenctl/order"
)

But run it in IDEA config_test.go At that time, compilation failed.

Problem symptom ​

IDEA test run error:

go: finding module for package github.com/fishfinal/apply/cmd/applygenctl/config
go: downloading github.com/fishfinal/apply v1.16.0
go: finding module for package github.com/fishfinal/apply/cmd/applygenctl/config
# github.com/fishfinal/apply/cmd/applygenctl/config
FAIL    github.com/fishfinal/apply/cmd/applygenctl/config [setup failed]
module github.com/fishfinal/apply@latest found (v1.16.0), but does not contain package github.com/fishfinal/apply/cmd/applygenctl/config
FAIL

Compilation finished with exit code 1

There are two key pieces of information worth noting here:

  • The requested module path is github.com/fishfinal/apply,Missing /v2;

  • The toolchain falls back to pull the remote one.v1.16.0, rather than using local modules.

This shows that the problem is not in the code itself, but in the way the toolchain parses paths.

Troubleshooting process ​

1. Check the import paths in the code ​

main.go all imports of its own packages in it are correctly included /v2, for example:

go
"github.com/fishfinal/apply/v2/cmd/applygenctl/config"

There is no problem at the code level.

2. Check go.mod ​

go.mod The module is declared as github.com/fishfinal/apply/v2, and there is no problem either.

3. Locate the path discrepancy in the error message ​

The error message requests:

github.com/fishfinal/apply/cmd/applygenctl/config

But the correct one should be:

github.com/fishfinal/apply/v2/cmd/applygenctl/config

Indicates that the Go toolchain, when parsing this package,Lost /v2 suffix.

4. Analyze the cause ​

项目物理路径是 $GOPATH/src/github.com/fishfinal/apply, and the module path is github.com/fishfinal/apply/v2.

at GOPATH mode Under this, the Go toolchain derives the import path based on the physical path, and will get github.com/fishfinal/apply/cmd/applygenctl/config(No /v2), then go to the remote repository to look for this package, and naturally you won’t find it—the new features of v2 do not exist in v1.16.0.

and in Go Modules mode Below, the toolchain will be based on go.mod Declaration, correctly parsed as github.com/fishfinal/apply/v2/....

Therefore it can be inferred that: when IDEA runs tests, Go Modules integration is not enabled, and it has fallen back to GOPATH mode, causing /v2 Lost.

Troubleshooting flowchart ​

Solution ​

Core operation: Enable IDEA's Go Modules integration ​

Open:

File → Settings → Go → Go Modules

勾选:

  • ✅Enable Go modules integration

  • Optional: at Environment add in GO111MODULE=on

After checking, IDEA will be entirely based on go.mod Parse the package path; all imports will include it./v2, the problem is resolved immediately.

If it still reports an error ​

Execute in sequence:

bash
go clean -modcache
go mod tidy
go test ./cmd/applygenctl/config/...

If it passes from the command line but fails in IDEA, it means the problem is still in the IDEA configuration. At this point, you can try:

  • File → Invalidate Caches → Invalidate and Restart

  • Click after restart Reload All Maven Projects(or Go Modules refresh button)

  • Check Run → Edit Configurations Working directory and Go tool arguments in

Principle supplement: Go Modules'/vN Rules ​

Go Modules Requirements v2 and above Must be added at the end of the module path /vN Suffix:

versionModule path example
v0 / v1github.com/user/repo
v2github.com/user/repo/v2
v3github.com/user/repo/v3

Therefore, the import paths of all packages within the module must include /v2, for example:

go
import "github.com/fishfinal/apply/v2/cmd/applygenctl/config"

If a tool (such as an IDE or an older version of the Go command) does not correctly recognize go.mod, it may be possible to infer the missing part based on the physical path /v2 the incorrect path, and then fetch a non-existent package from the remote repository.

Experience Summary ​

QuestionReasonSolve
Compilation error does not contain packageThe import path is missing /v2Ensure Go Modules integration is enabled
IDEA running tests falls back to GOPATH modeGo Modules integration is uncheckedSettings → Go → Go Modules Check
Cache causes index inconsistencyIDEA cache expiredInvalidate Caches and restart

Summarize in one sentence.: For a Go Modules project, before running tests in IDEA, be sure to confirm Enable Go modules integration Checked to prevent the toolchain from falling back to GOPATH mode and causing /vN Path lost.

Reference ​

Last updated on11/07/2026, 02:16 PM
@fishfinal | @fishfinals | [email protected]