【问题标题】:Error when installing chaincode - failed to calculate dependencies: incomplete package安装链码时出错 - 无法计算依赖项:包不完整
【发布时间】:2020-05-08 22:04:56
【问题描述】:

我正在尝试安装 Chaincode,按照 hyperledger 的教程进行操作。但是当我尝试运行命令时

peer chaincode install -p chaincodedev/chaincode/sacc -n mycc -v 0

终端给出错误信息

错误:获取 mycc 的链码部署规范时出错:获取链码包字节时出错:无法计算依赖项:包不完整:github.com/hyperledger/fabric-chaincode-go/shim

我看到其他一些人也遇到了类似的问题,但还没有答案。我是这些东西的新手,所以任何建议都会有所帮助。

【问题讨论】:

  • 分享您尝试过的链接并提供依赖文件。我的意思是 build.gradle 或 pom.xml。

标签: hyperledger-fabric hyperledger-chaincode


【解决方案1】:

我今天解决了:

登录到 CLI 容器后,执行以下命令(导入 shim 包)。这会将包导入到将编译链代码的 cli 容器中。

去 github.com/hyperledger/fabric-chaincode-go/shim

然后执行

peer chaincode install -p chaincodedev/chaincode/sacc -n mycc -v 0

它会工作的欢呼。

【讨论】:

  • 登录到“cli”容器后意味着执行以下命令后:docker exec -it cli bash
  • 执行您的建议后,我确​​实得到了垫片,但仍然是同样的问题。请进一步帮助我。
【解决方案2】:

你没有说你使用的是什么版本的 Fabric 和示例,但这看起来像是为 Fabric 2.0 所做的更改,并在 release notes 中描述了“Go 链码的 shim 包和依赖项不再包括在内在 链码构建环境。”

在关联Jira entry.中有更多细节

【讨论】:

  • 是的,我正在尝试遵循 Fabric 2.0 的教程。那么你能给我一些关于如何解决这个问题的建议吗?我知道这个功能已经消失了,但我仍然不知道如何安装 Chaincode。我还注意到您提到了依赖文件,但我不知道它们在哪里。感谢您的帮助。
【解决方案3】:

尝试将 shim 包下载到 GOPATH

去 github.com/hyperledger/fabric-chaincode-go/shim

这会将 shim 包下载到 GOPATH 中的 /src/github.com/hyperledger/fabric-chaincode-go/shim 。然后在您的链代码中的 import 中提供此 shim 包的路径。

应该是这样的:

进口( “github.com/hyperledger/fabric-chaincode-go/shim” )

【讨论】:

  • 这个对我有用。我认为升级 2.2 后,软件包发生了变化。
【解决方案4】:

在我的情况下,原因是路径不正确。 CLI 容器工作目录已经有chaincodedev 部分路径

cli:
    ...
    working_dir: /opt/gopath/src/chaincodedev

您可以执行以下操作来验证您的情况是否属实

docker exec -it cli bash
pwd

你必须看到/opt/gopath/src/chaincodedev

所以我需要做的就是从命令路径中删除chaincodedev

peer chaincode install -p chaincode/sacc -n mycc -v 0

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-02-11
    • 1970-01-01
    • 2021-11-14
    • 2013-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多