我克隆了 go source code使用 git clone https://go.googlesource.com/go
进入我的 ~/godev/
目录。
我的 $GOPATH 是 ~/gocode
我使用安装程序安装了 go
如果我进入 ~/godev/go/src/net/http
并运行 go test
,我会得到这些错误:
h2_bundle.go:46:2: cannot find package "golang_org/x/net/http2/hpack" in any of:
/usr/local/go/src/golang_org/x/net/http2/hpack (from $GOROOT)
~/gocode/src/golang_org/x/net/http2/hpack (from $GOPATH)
h2_bundle.go:47:2: cannot find package "golang_org/x/net/idna" in any of:
/usr/local/go/src/golang_org/x/net/idna (from $GOROOT)
~/gocode/src/golang_org/x/net/idna (from $GOPATH)
h2_bundle.go:48:2: cannot find package "golang_org/x/net/lex/httplex" in any of:
/usr/local/go/src/golang_org/x/net/lex/httplex (from $GOROOT)
~/gocode/src/golang_org/x/net/lex/httplex (from $GOPATH)
transport.go:32:2: cannot find package "golang_org/x/net/proxy" in any of:
/usr/local/go/src/golang_org/x/net/proxy (from $GOROOT)
~/gocode/src/golang_org/x/net/proxy (from $GOPATH)
transfer.go:14:2: use of internal package not allowed
在我按照说明操作后here通过执行 cd $GOPATH/src
后跟 cp -R/usr/local/go/src/vendor/golang_org 。
,我仍然遇到这些错误:
h2_bundle.go:47:2:目录 ~/gocode/src/golang_org/x/net/idna 中的代码需要导入“golang.org/x/net/idna” transport.go:32:2: 在以下任何一个中找不到包“golang_org/x/net/proxy”: /usr/local/go/src/golang_org/x/net/proxy(来自 $GOROOT) ~/gocode/src/golang_org/x/net/proxy(来自 $GOPATH) transfer.go:14:2: 不允许使用内部包
确实~/gocode/src/golang_org/x/net下没有proxy包,但即使我以某种方式修复了它,我也不明白其他2个错误。
最佳答案
实际上,包 golang_org 不是根包,您的代码需要它来构建但无法找到它。简单地说,您必须去获取以下包.
/usr/local/go/src/golang_org/x/net/http2/hpack (from $GOROOT)
/Users/lf215/go/src/golang_org/x/net/http2/hpack (from $GOPATH)
此版本的 Go 存在一些问题。你可以引用 https://github.com/constabulary/gb/issues/635
关于http - 去测试导入错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43672597/