Hyperledger Fabric 1.1中启动Composer 19.x失败求助
解决Composer Network Start时的EAI_AGAIN与404错误
你遇到的问题是两个核心因素叠加导致的:容器内npm代理配置未正确解析,以及Hyperledger Composer已归档导致latest版本在npm源中无法找到。下面是针对性的解决方案:
1. 修正npm配置文件格式
你的npmrc将所有配置写在同一行,容器内的npm可能无法正确解析。请改成每行一个配置项,移除不必要的引号:
proxy=http://xxx.xx.xx.xx:xxxx/ https-proxy=http://xxx.xx.xx.xx:xxxx/ registry=http://registry.npmjs.org/ strict-ssl=false
保存后重新用-o npmrcFile=/tmp/composer/npmConfig参数执行启动命令。
2. 替换latest为具体的Composer版本
Hyperledger Composer已停止维护,npm官方源中不再提供hyperledger-composer@latest版本,这就是日志中404错误的直接原因。你需要:
- 查看本地Composer CLI版本:执行
composer -v,比如得到版本为0.20.8 - 修改业务网络BNA包内的
package.json,将hyperledger-composer依赖版本从latest改为与CLI匹配的版本(如0.20.8) - 重新打包BNA后再执行
composer network start
3. 确保容器能访问代理地址
如果主机使用localhost或127.0.0.1作为代理地址,容器内部无法直接访问(容器的localhost指向自身)。请将代理地址替换为主机的局域网IP(比如192.168.1.100),再重新测试。
4. 手动构建业务网络镜像(备选方案)
如果上述方法都无效,可以跳过自动构建步骤,手动生成镜像:
- 先将BNA安装到Peer节点:
composer network install -c peerAdmin@org1 -a your-network.bna - 从Peer节点的安装目录(通常在
/var/hyperledger/composer/archives/下)复制出业务网络代码到本地 - 本地构建Docker镜像:
docker build -t your-custom-network-image . - 启动网络时指定预构建的镜像:
composer network start -c peerAdmin@org1 -n your-network -V 0.0.1 -A admin -S adminpw -o dockerImage=your-custom-network-image
内容的提问来源于stack exchange,提问作者user9040429
相关产品推荐
相关产品推荐

