Skip to content
This repository has been archived by the owner on Jun 27, 2023. It is now read-only.

mockgen: "package is not in GOROOT" when generating a mock outside of a module #480

Closed
zkuldeep opened this issue Sep 21, 2020 · 3 comments

Comments

@zkuldeep
Copy link

What version of Go are you using (go version)?

$ go version
go version go1.14.6 darwin/amd64

Does this issue reproduce with the latest release?

Nothing as such

What operating system and processor architecture are you using (go env)?

GOOS="darwin"

go env Output
$ go env
GOPATH="/Users/zo/go"
GOPRIVATE="github.com/Z/*"
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/local/Cellar/go/1.14.6/libexec"

What did you do?

Trying to generate mock for the provided interface 'CorHandler' in package 'designpattern'

for the given code:
`package designpattern

import "context"

// chain of responsibility handler
//go:generate mockgen -destination=mocks/mock_corhandler.go -package=mocks . CorHandler
type CorHandler interface {

// responsibility of current handler
Execute(context.Context, ...interface{}) error

}`

command tried:
mockgen -destination=mocks/mock_corhandler.go -package=mocks internal/service/designpattern CorHandler

also: $pwd
/Users/zo/go/src/github.com/Z/dlos

What did you expect to see?

Something like mocks generated.

What did you see instead?

prog.go:14:2: package internal/service/designpattern is not in GOROOT (/usr/local/Cellar/go/1.14.6/libexec/src/internal/service/designpattern)
prog.go:12:2: cannot find module providing package github.com/golang/mock/mockgen/model: working directory is not part of a module
prog.go:14:2: package internal/service/designpattern is not in GOROOT (/usr/local/Cellar/go/1.14.6/libexec/src/internal/service/designpattern)
2020/09/21 12:09:11 Loading input failed: exit status 1

@bcmills
Copy link
Contributor

bcmills commented Sep 22, 2020

Import paths without dots are in general reserved for the standard library (see golang/go#32819).

@bcmills bcmills transferred this issue from golang/go Sep 22, 2020
@bcmills bcmills changed the title package is not in GOROOT when trying for mockgen mockgen: "package is not in GOROOT" when generating a mock outside of a module Sep 22, 2020
@codyoss
Copy link
Member

codyoss commented Sep 22, 2020

Please use the full import path. Something like: github.com/Z/dlos/internal/service/designpattern.

@zkuldeep
Copy link
Author

Thanks it resolved using fully qualified path. @codyoss & @bcmills

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

3 participants