问题
通过查看相关问题,我无法找到解决方案。我不知道是什么让我的 Go 环境与规范设置不同。
go env 返回
GOROOT="/usr/lib/go"
GOBIN=""
GOARCH="386"
GOCHAR="8"
GOOS="linux"
GOEXE=""
GOHOSTARCH="386"
GOHOSTOS="linux"
GOTOOLDIR="/usr/lib/go/pkg/tool/linux_386"
GOGCCFLAGS="-g -O2 -fPIC -m32 -pthread"
CGO_ENABLED="1"
tree $GOPATH 返回
/home/USER/go
├── bin
├── pkg
│ └── linux_386
│ └── bitbucket.org
│ └── USER-NAME
│ └── PROJECT
│ └── my_package.a
└── src
└── bitbucket.org
└── USER-NAME
└── PROJECT
├── main
│ ├── main.go
└── my_package
└── my_package.go
(全部大写是替换)
main.go 包含
package main
import (
"bitbucket.org/USER-NAME/PROJECT/my_package"
)
func main() {
my_package.Foo()
}
go build在main目录中调用返回import "my_package": cannot find package
沃尔克指出,也go env应该返回一个GOPATH条目。env 命令的来源证实了这一点。但是,echo $GOPATH在 bash 或os.Getenv("GOPATH")Go 中运行都返回\home\USER\go. 我不确定为什么go env.
解决方案
当我遇到这个问题时,我正在运行 Go 1.0。当我升级到 Go 1.2.1 时,问题消失了。
慕桂英4014372
相关分类