hyperledger-fabric - 为什么我在尝试启动自定义网络时遇到此问题?
问题描述
当我在 Hyperledger Composer v0.19 上工作时,我创建了“tutorial-network”,按照教程中的方式安装并启动它。没有问题。但我试图创建我的自定义网络。当我试图启动我的自定义网络时,我遇到了这个问题;
Error: Error trying to start business network. Error: No valid responses from any peers.
Response from attempted peer comms was an error: Error: 2 UNKNOWN: error starting container: Failed to generate platform-specific docker build: Error returned from build: 1 "npm ERR! code EAI_AGAIN
npm ERR! errno EAI_AGAIN
npm ERR! request to https://registry.npmjs.org/composer-common failed, reason: getaddrinfo EAI_AGAIN registry.npmjs.org:443
npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2019-01-10T11_49_13_667Z-debug.log
"
Command failed
我怎样才能解决这个问题?
解决方案
问题是该composer network start
命令在幕后使用 Fabric 为您的业务网络构建“Docker 链码容器”。在该构建期间,有一些npm install
命令正在运行,它们是生成您看到的错误的命令。所以新容器无法连接到registry.npmjs.org
尝试时可能存在网络问题,如果您再试一次,它可能会起作用。有点奇怪,您能够通过教程网络正常工作,但是您的自定义网络不起作用 - 您是否使用同一台机器作为自定义网络,并连接到同一网络?(您是否从“开放”家庭网络运行本教程,现在正在使用代理在企业/组织网络上尝试自定义?)
npmrc 文件是 npm 的一组配置,其中可以包含代理详细信息,在 oc Composer 的情况下,您可以将文件传递到新的 Chaincode 容器中,以便它可以连接 npm 注册表或您使用的一些影子存储库。
还有很多关于 npm 和 npmrc 的其他 Stack Overflow 帖子(以及网络上的其他资源。)
即使是composer network start
显示错误的命令,也必须在composer network install
命令中指定 npmrc 文件。
推荐阅读
- zapier - 如何在 Zapier 中计算值
- c++ - 无法解析未定义的引用
- intellij-idea - 预期类没有实际声明
- python - 通过比较四个列表中的值来分配分数
- c++ - 为什么 void sort(int *[], int) 会导致“无法读取内存”?
- r - Dplyr 错误地连接多个列
- sql-server - 在 SQL Server 中自动生成 ID 的最佳方法
- c# - 在 C# 中拆分字符串并获取正确的字符串
- powershell - 如何修复windows10中powershell中的DownloadFile错误
- matlab - 在 matLab 中使用给定的 X、Y 和时间戳 T 绘制电影