【问题标题】:GOPATH/GOROOT setup for Hyperledger fabric chaincodeHyperledger Fabric 链码的 GOPATH/GOROOT 设置
【发布时间】:2021-08-15 15:04:30
【问题描述】:

我已经在 Hyperledger Fabric 1.4.7 中完成了基本设置,并让所有对等方都加入了频道。在 golang 中探索了链码后,我开始尝试链码安装命令,但在这一步中遇到了问题。

错误

错误:获取链码代码 mycc 时出错:链码路径不存在:/home/user899/go/src/chaincode

当我刚跑go run chaincode.go

错误

chaincode.go:7:2:在以下任何一个中都找不到包“github.com/hyperledger/fabric-chaincode-go/shim”: /usr/lib/go-1.14/src/github.com/hyperledger/fabric-chaincode-go/shim(来自 $GOROOT) /home/user899/go/src/github.com/hyperledger/fabric-chaincode-go/shim(来自 $GOPATH) chaincode.go:8:2:在以下任何一个中都找不到包“github.com/hyperledger/fabric-protos-go/peer”: /usr/lib/go-1.14/src/github.com/hyperledger/fabric-protos-go/peer(来自 $GOROOT) /home/user899/go/src/github.com/hyperledger/fabric-protos-go/peer(来自 $GOPATH)

环境

echo $GOPATH
/home/user899/go

Chaincode location
/home/user899/SoloNetwork/chaincode

谁能帮忙。

谢谢

【问题讨论】:

  • peer chaincode install 命令中使用 -p 标志传递您的链码路径。

标签: hyperledger-fabric hyperledger gopath


【解决方案1】:

我正在回答我自己的问题。这是解决方案,我不知道在 Go 中需要遵循 directory structure

首先,我在位于home/dev/go 下的终端中使用go env 检查了我的GOPATH(通常是我们可以编写所有go 文件的工作区)

关于目录结构,它应该遵循如下:-

$GOPATH + /src/github.com/chaincode,所以最终的结构将是链码内的home/dev/go/src/github.com/chaincode。我可以放置所有 Go 文件。

所以从here获取chaincode文件后,我已经放置在上面的位置并执行了以下命令

  • go mod init
  • go mod tidy

然后,我能够执行 peer chaincode install commad

peer chaincode install -n mycc -p "github.com/chaincode" -v 1.0

这里的命令-p "github.com/chaincode" 是我创建的文件夹名称。

所以最后链码路径是由这些创建的:$GOPATH + src + -p flag

如果有人遇到,请转到二进制相关问题,将您的 GOROOT 路径设置为安装 go 的 bin 位置。

【讨论】:

    猜你喜欢
    • 2018-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多