Go 运行 找不到包
Go run cannot find package
我有一个基于 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
时遇到同样的错误。
项目结构哪里出了问题?
这可能是因为打字错误:
goloang
instead of
golang
你有:
$ echo $GOPATH
/Users/Bharat/Dev/golang/fooproject
^^^^^^
$ pwd
/Users/Bharat/Dev/goloang/fooproject/src/fooer
^^^^^^^
我有一个基于 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
时遇到同样的错误。
项目结构哪里出了问题?
这可能是因为打字错误:
goloang
instead of
golang
你有:
$ echo $GOPATH
/Users/Bharat/Dev/golang/fooproject
^^^^^^
$ pwd
/Users/Bharat/Dev/goloang/fooproject/src/fooer
^^^^^^^