我有一个基于this文章的示例项目设置。
这是我的目录结构:
goloang/
└── fooproject
└── src
├── foo
│ └── foo.go
└── fooer
└── fooer.go
我已设置GOTPATH
$ echo $GOPATH
/Users/Bharat/Dev/golang/fooproject
我正在尝试运行foor.go
,但即使它存在于GOPATH
引用的位置,即src/foo
,我也找不到包错误。
这就是我运行它的方式:
$ pwd
/Users/Bharat/Dev/goloang/fooproject/src/fooer
$ go run fooer.go
fooer.go:4:3: cannot find package "foo" in any of:
/usr/local/go/src/foo (from $GOROOT)
/Users/Bharat/Dev/golang/fooproject/src/foo (from $GOPATH)
这些是文件内容。
src/foo/foo.go
:
package foo
import (
"fmt"
)
func Bar() {
fmt.Println("bar")
}
src/fooer/fooer.go
:
package main
import (
"foo"
)
func main() {
foo.Bar()
}
我尝试go build fooer.go
时遇到同样的错误。
我的项目结构出错了?
答案 0 :(得分:3)
这可能是因为拼写错误:
goloang
instead of
golang
你有:
$ echo $GOPATH
/Users/Bharat/Dev/golang/fooproject
^^^^^^
$ pwd
/Users/Bharat/Dev/goloang/fooproject/src/fooer
^^^^^^^