节点链代码在代理后面实例化

1 node.js hyperledger-fabric

我正在关注官方文档:https : //hyperledger-fabric.readthedocs.io/en/latest/build_network.html

我正在建立我的第一个网络。但是当实例化节点版本链码时,由于我的机器在代理后面工作,因此NPM总是向我抛出网络异常。

我已经尝试在package.json或脚本中设置代理,但是它不起作用。

如何避免这种情况?

例如,如果我执行:

./byfn.sh -c mychannel -l go up
Run Code Online (Sandbox Code Playgroud)

它运作良好。

但是,如果我执行:

./byfn.sh -c mychannel -l node up
Run Code Online (Sandbox Code Playgroud)

它将引发异常,因为容器没有Internet访问权限来下载节点模块,否则...

yac*_*ovm 5

我认为您最好的选择是通过以下方式修改用于构建的链码docker 映像以将npm预先配置为代理:

npm配置设置代理http://proxy.company.com:8080

npm配置设置https-proxy http://proxy.company.com:8080

要对其进行修改,您可以在用于创建构建链代码的docker文件的docker 映像模板中,在上述npm命令之前添加“ RUN”前缀:

运行npm config设置代理http://proxy.company.com:8080

运行npm config设置https-proxy http://proxy.company.com:8080

在node.js chaincode构建时,将运行以下命令

cp -R /chaincode/input/src/. /chaincode/output && cd /chaincode/output && npm install --production
Run Code Online (Sandbox Code Playgroud)