如何解决光纤链代码容器nodejs无法访问npm
感谢您对此事的帮助。
我拥有最新的映像(2.2.0,CA 1.4.8),但是在第一个对等点安装链码时出现错误:
failed to invoke chaincode lifecycle,error: timeout expired while executing transaction
我正在使用VPN来代理服务器。
我尝试为所有对等节点增加docker config的超时时间:
CORE_CHAINCODE_DEPLOYTIMEOUT=300s
CORE_CHAINCODE_STARTUPTIMEOUT=300s
该过程可以完美地进行到这一点(已创建渠道,同行加入了该渠道)。可以使用npm install手动安装chaincode。 我在任何地方都找不到答案。有人可以提供指导吗?
更新:似乎链码容器获得了boostrap(甚至被赋予了一个随机名称),但被卡在了:
+ INPUT_DIR=/chaincode/input
+ OUTPUT_DIR=/chaincode/output
+ cp -R /chaincode/input/src/. /chaincode/output
+ cd /chaincode/output
+ '[' -f package-lock.json -o -f npm-shrinkwrap.json ]
+ npm install --production
我相信这是阻止npm的代理。
我试图用以下方法解决这个问题:
npm config set proxy proxy
npm config set https-proxy proxy
npm set maxsockets 3
经过几天的努力,我找到了解决方案: -必须构建一个自定义的fabric nodeenv映像,其中包含env变量以设置npm代理变量:如node chaincode instantiate behind proxy中所示。之后,我在docker.yaml中设置了以下环境变量:
- CORE_CHAINCODE_NODE_RUNTIME=my_custom_image
- CORE_CHAINCODE_PULL=true
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com(将#修改为@)