error message (import)
pierrre opened this issue · 7 comments
In my package github.com/pierrre/geohash
I try to create a slice of Point (https://github.com/pierrre/geohash/blob/master/geohash.go#L113-L116).
But gen
returns an error:
➜ geohash git:(master) ✗ gen
geohash_benchmark_test.go:6:18: could not import github.com/Codefor/geohash (can't find import: github.com/Codefor/geohash)
exit status 1
or
➜ geohash git:(master) ✗ gen
cstest_test.go:6:2: could not import github.com/pierrre/cstest (can't find import: github.com/pierrre/cstest)
exit status 1
@pierrre does go install
work for you? Because I also encountered this issue and it was the result of just having build errors in my code. After fixing those error the import message went away.
I understand my problem: I need to manually install all my dependencies in $GOPATH/pkg
.
All my dependencies are already in $GOPATH/src
, but I must run go install xxxxx
.
➜ geohash git:(master) gen
geohash_benchmark_test.go:6:18: could not import github.com/Codefor/geohash (can't find import: github.com/Codefor/geohash)
➜ geohash git:(master) go install -v github.com/Codefor/geohash
github.com/Codefor/geohash
➜ geohash git:(master) gen
geohash_benchmark_test.go:7:24: could not import github.com/TomiHiltunen/geohash-golang (can't find import: github.com/TomiHiltunen/geohash-golang)
➜ geohash git:(master) go install -v github.com/TomiHiltunen/geohash-golang
github.com/TomiHiltunen/geohash-golang
➜ geohash git:(master) gen
geohash_benchmark_test.go:8:17: could not import github.com/broady/gogeohash (can't find import: github.com/broady/gogeohash)
➜ geohash git:(master) go install -v github.com/broady/gogeohash
github.com/broady/gogeohash
➜ geohash git:(master) gen
cstest_test.go:6:2: could not import github.com/pierrre/cstest (can't find import: github.com/pierrre/cstest)
➜ geohash git:(master) go install -v github.com/pierrre/cstest
github.com/pierrre/cstest
➜ geohash git:(master) gen
geohash_benchmark_test.go:9:28: could not import github.com/the42/cartconvert/cartconvert (can't find import: github.com/the42/cartconvert/cartconvert)
➜ geohash git:(master) go install -v github.com/the42/cartconvert/cartconvert
github.com/the42/cartconvert/cartconvert
➜ geohash git:(master) gen
No types marked with +gen were found. See http://clipperhouse.github.io/gen to get started, or type gen help.
Consider this resolved, then?
Not really, why should I install these packages? (in $GOPATH/pkg
)
Other commands like go test
, gofmt
, golint
or goconvey
automatically install these packages.
I don’t think this is a gen problem. The package on which you call gen
needs to be correct and buildable – try go build
first. Once the package is correct, gen can do its thing.
go build
is OK, but gen
returns an error:
➜ geohash git:(master) rm -r $GOPATH/pkg
➜ geohash git:(master) go build -v
github.com/pierrre/geohash
➜ geohash git:(master) go test
PASS
ok github.com/pierrre/geohash 0.120s
➜ geohash git:(master) gen
geohash_benchmark_test.go:6:18: could not import github.com/Codefor/geohash (can't find import: github.com/Codefor/geohash)
➜ geohash git:(master)
Try to remove your $GOPATH/pkg
directory.
gen
doesn't work for me if dependencies are not explicitly installed in $GOPATH/pkg
.