debuggoCritical
Go build: "Cannot find package" (even though GOPATH is set)
Viewed 0 times
packageevenfindsetthoughcannotbuildgopath
Problem
Even though I have
GOPATH properly set, I still can't get "go build" or "go run" to find my own packages. What am I doing wrong?$ echo $GOROOT
/usr/local/go
$ echo $GOPATH
/home/mitchell/go
$ cat ~/main.go
package main
import "foobar"
func main() { }
$ cat /home/mitchell/go/src/foobar.go
package foobar
$ go build main.go
main.go:3:8: import "foobar": cannot find packageSolution
It does not work because your
Additional recommended steps:
foobar.go source file is not in a directory called foobar. go build and go install try to match directories, not source files.- Set
$GOPATHto a valid directory, e.g.export GOPATH="$HOME/go"
- Move
foobar.goto$GOPATH/src/foobar/foobar.goand building should work just fine.
Additional recommended steps:
- Add
$GOPATH/binto your$PATHby:PATH="$GOPATH/bin:$PATH"
- Move
main.goto a subfolder of$GOPATH/src, e.g.$GOPATH/src/test
go install testshould now create an executable in$GOPATH/binthat can be called by typingtestinto your terminal.
Context
Stack Overflow Q#13214029, score: 191
Revisions (0)
No revisions yet.