去运行找不到包

时间:2015-08-20 05:55:28

标签: go packages

我有一个基于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时遇到同样的错误。

我的项目结构出错了?

1 个答案:

答案 0 :(得分:3)

这可能是因为拼写错误:

goloang
instead of
golang

你有:

$ echo $GOPATH
/Users/Bharat/Dev/golang/fooproject
                  ^^^^^^
$ pwd
/Users/Bharat/Dev/goloang/fooproject/src/fooer
                  ^^^^^^^