当我使用Goland 1.0 EAP IDE调试结构源代码订购器模块时,它可能会调试并提示:
GOROOT=/usr/local/Cellar/go/1.8.3/libexec #gosetup
GOPATH=/Users/friends/Documents/VirtualMachine/share/gopath #gosetup
/usr/local/Cellar/go/1.8.3/libexec/bin/go build -i -o /private/var/folders/cg/mwzlhrjs5y55ny553g6xz9tr0000gn/T/___orderer_start -gcflags "-N -l" /Users/friends/Documents/VirtualMachine/share/gopath/src/github.com/hyperledger/fabric/orderer/main.go #gosetup
# command-line-arguments
orderer/main.go:76: undefined: NewServer
orderer/main.go:207: undefined: createLedgerFactory
调试配置如下:
实际上,NewServer存在于server.go中
当我删除server.go和util.go并将代码移到main.go时,它可以工作。我认为可能是GoLand 1.0 EAP BUG。
最佳答案
在“运行配置”屏幕快照中,“运行种类”值为文件。这意味着GoLand将仅运行该文件。将其更改为Package并更改package name选项,该选项现在似乎指向正确的软件包,在这种情况下为github.com/hyperledger/fabric/orderer