奇怪的编译错误,提示“没有可构建的Go源文件”

Bascially, in client.go I import a package like this

pb "github.com/wilbyang/gotham-grpc/search"

when I try to run go run client.go, I get the error:

no buildable Go source files in /Users/wilbyang/goPath/src/github.com/wilbyang/gotham-grpc/search".

My gopath is:

"/Users/wilbyang/goPath/".

And I am sure dir $GOPATH/src/github.com/wilbyang/gotham-grpc/search exists and under that dir search.pb.go exists, generated by protoc and package being search. I really do not understand why and struggled with it for hours! Anyone would lead me out of this?

go run client.go works when there is a main function inside client.go.