Cha*_*lex 5 go vendor hyperledger-fabric
我在go项目中出售了两个项目.我成功编译了我的项目.当我运行我的项目时,它报告错误"panic: http: multiple registrations for /debug/requests".详细错误如下所示.
goroutine 1 [running]:
net/http.(*ServeMux).Handle(0x19ae000, 0x126bb20, 0xf, 0x1964540, 0x1297d90)
/usr/local/go/src/net/http/server.go:2270 +0x627
net/http.(*ServeMux).HandleFunc(0x19ae000, 0x126bb20, 0xf, 0x1297d90)
/usr/local/go/src/net/http/server.go:2302 +0x55
net/http.HandleFunc(0x126bb20, 0xf, 0x1297d90)
/usr/local/go/src/net/http/server.go:2314 +0x4b
github.own.com/chalex/testfabric/vendor/github.com/hyperledger/fabric-sdk-go/vendor/golang.org/x/net/trace.init.0()
/home/chalex/ibm/src/github.own.com/chalex/testfabric/vendor/github.com/hyperledger/fabric-sdk-go/vendor/golang.org/x/net/trace/trace.go:115 +0x42
github.own.com/chalex/testfabric/vendor/github.com/hyperledger/fabric-sdk-go/vendor/golang.org/x/net/trace.init()
<autogenerated>:1 +0x1cd
github.own.com/chalex/testfabric/vendor/github.com/hyperledger/fabric-sdk-go/vendor/google.golang.org/grpc.init()
<autogenerated>:1 +0x82
github.own.com/chalex/testfabric/vendor/github.com/hyperledger/fabric-sdk-go/third_party/github.com/hyperledger/fabric/protos/peer.init()
<autogenerated>:1 +0x6f
github.own.com/chalex/testfabric/vendor/github.com/hyperledger/fabric-sdk-go/api/apitxn.init()
<autogenerated>:1 +0x44
github.own.com/chalex/testfabric/chaincode/client.init()
<autogenerated>:1 +0x49
main.init()
Run Code Online (Sandbox Code Playgroud)
有没有人知道如何解决它?我想这是因为我导入的两个项目都听了/debug/requests吗?
我找到了原因.这是因为这个golang.org/x/net/trace项目.在它的init()功能中,它们处理debug/request硬编码.因此,如果两个项目都导入该库,则存在冲突.
使用了多个项目golang.org/x/net/trace,并且一些项目保存golang.org/x/net/trace在其vendor目录中,因此导致冲突。通过删除其他只留下一个来解决冲突,那么问题就解决了。