http - 去测试导入错误

标签 http go gopath

我克隆了 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/

相关文章:

postgresql - 将客户端 UUID 转换为 SQL UUID

Golang VSCode 如何停止/暂停自动导入?

java - 面向 REST Web 服务的授权 header OAuth1

http - 如何在使用 `stream_to` 选项时限制 HTTPoison 或 hackney 传输响应的速率

string - 如何在 Go 中反转字符串?

Golang 模块问题--package xxx/xxxx is not in GOROOT

google-app-engine - goapp 测试不工作,得到错误 "GOPATH must be absolute"而它是绝对的

google-app-engine - `gcloud app deploy` 命令选择了错误的 GOPATH

rest - erlang 以十进制而不是字母形式响应 http 请求

http - 与非加密连接相比,TLS 增加了多少网络开销?