我想使用Godebug逐步完成我的程序。但是,因为我使用的是 net/http,所以会出现以下错误:
/home/heath/go/src/net/http/h2_bundle.go:45:2: could not import golang_org/x/net/http2/hpack (cannot find package "golang_org/x/net/http2/hpack" in any of:
/home/heath/go/src/golang_org/x/net/http2/hpack (from $GOROOT)
/x/net/http2/hpack 确实存在于我的 GOPATH 但在 ~heath/go/src/golang.org ...不是 golang_org (不确定那里发生了什么)
我读过这个错误是因为 godebug 还不支持 http2(找不到源)。
我试图通过在 init() 和命令行中设置 GODEBUG env 来禁用 http2server 和 http2client。我还确认这些设置是通过执行 fmt.Println("GODEBUG", os.Getenv("GODEBUG") 来设置的。按照位于此处的说明
GODEBUG=http2client=0 # disable HTTP/2 client support
GODEBUG=http2server=0 # disable HTTP/2 server support
我复制错误的简单代码示例是:
package main
import "fmt"
import "net/http"
import "os"
func init() {
os.Setenv("GODEBUG", "http2server=0,http2client=0")
}
func main() {
fmt.Println("GODEBUG", os.Getenv("GODEBUG"))
_ = "breakpoint"
fmt.Println("Hello, World!")
http.ListenAndServe(":8080", nil)
}
godebug run example.go
我正在运行 Go 版本:
去版本 go1.7 linux/amd64
叮当猫咪
相关分类