golang / mock

GoMock is a mocking framework for the Go programming language.
Apache License 2.0
9.3k stars 611 forks source link

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

Closed zkuldeep closed 3 years ago

zkuldeep commented 3 years ago

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 commented 3 years ago

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

codyoss commented 3 years ago

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

zkuldeep commented 3 years ago

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