Open nebiros opened 1 year ago
I ran into this same issue today 🐞 👍
I'm getting similar errors without -mod=vendor
. This started with v0.3.0.
It cannot find one of the application packages:
prog.go:14:2: no required module provides package gitlab.com/gitlab-org/cluster-integration/gitlab-agent/v16/cmd/agentk/agentkapp: go.mod file not found in current directory or any parent directory; see 'go help modules'
prog.go:12:2: no required module provides package go.uber.org/mock/mockgen/model: go.mod file not found in current directory or any parent directory; see 'go help modules'
2023/09/21 03:52:18 Loading input failed: exit status 1
exit status 1
I think it was a somewhat unrelated issue. I tried upgrading 0.2.0 -> 0.3.0 and at the same time adding -typed
. It doesn't work this way, at least didn't work for me. I upgraded to 0.3.0 first and then now added -typed
. Haven't finished fixing the tests, but mock generation succeeded. Sorry for the noise.
The same problem that ash2k encountered also happens to me. This occurs when both v0.2.0 and v0.3.0 are installed in the same environment. The problem can be solved by uninstalling either one of these versions.
Switching to source mode instead of reflect mode resolved this for me. I ultimately had to switch to source mode anyways as I'm using generics in my interfaces now that v0.3.0 has been released.
If you are using reflect mode, just make sure that you have installed the same version of this package as the one defined in your go.mod.
Make sure the mockgen
version you installed is the same one in your go.mod
I'm having this issue and the mockgen version is the same between the binary and our go.mod yet it keeps on failing. It works fine under macOS but on our containers it fails consistently. We are on v0.2.0 and cannot upgrade until https://github.com/uber-go/mock/issues/104 is fixed as it would cause massive churn in source control since we use an absolute path when specifying the output option, and everyone has a different home directory.
It turns out that, one of the reasons, this fails is that on laptop we had copies of gomock_reflect_....
folders, and we had one accidentally added to source control a while back. Deleting the unwanted gomock_reflect_....
folder from source control removed the only go file that imported "go.uber.org/mock/mockgen/model"
and then breaking our pipelines. Our fix was to add a test/mockgen_compat/main.go
file that does nothing else but importing "go.uber.org/mock/mockgen/model"
and the pipelines are happy again.
See https://github.com/golang/mock/issues/494#issuecomment-1365540087
Actual behavior Moving from
golang/mock
I got this error when running themockgen
command and using reflection:Expected behavior This doesn't happen with
golang/mock
moduleTo Reproduce
go install go.uber.org/mock/mockgen@latest
mockgen -build_flags=-mod=vendor -destination=internal/testing/mock/mock_dynamodbiface.go -package=mock github.com/aws/aws-sdk-go/service/dynamodb/dynamodbiface DynamoDBAPI
Additional Information
reflect
v0.2.0
go version go1.21.1 darwin/arm64
Triage Notes for the Maintainers