在链代码实例化中找不到模块 ledger-api/state.js
Cannot find module ledger-api/state.js on chaincode instantiation
我尝试在使用以下命令成功安装链代码后实例化它 docker container exec -it cli peer chaincode install -n mycontract p /opt/gopath/src/github.com/sacc -v 1.0 -l node
并且当我尝试使用此命令实例化它时 docker container exec -it cli peer chaincode instantiate -n mycontract -v 1.0 -o orderer.example.com:7050 -C mychannel -c '{"Args":["org.myproject.com:instantiate"]}' -P "AND('Org1MSP.member')" -l node
我收到这些错误消息我的同行日志
UTC [peer.chaincode.dev-peer0.org1.example.com-mycontract-1.0] func2 -> INFO 077 Error: Cannot find module './../ledger-api/state.js'
UTC [peer.chaincode.dev-peer0.org1.example.com-mycontract-1.0] func2 -> INFO 078 at Function.Module._resolveFilename (module.js:548:15)
UTC [peer.chaincode.dev-peer0.org1.example.com-mycontract-1.0] func2 -> INFO 079 at Function.Module._load (module.js:475:25)
UTC [peer.chaincode.dev-peer0.org1.example.com-mycontract-1.0] func2 -> INFO 07a at Module.require (module.js:597:17)
UTC [peer.chaincode.dev-peer0.org1.example.com-mycontract-1.0] func2 -> INFO 07b at require (internal/module.js:11:18)
UTC [peer.chaincode.dev-peer0.org1.example.com-mycontract-1.0] func2 -> INFO 07c at Object. (/usr/local/src/documentototal.js:17:15)
UTC [peer.chaincode.dev-peer0.org1.example.com-mycontract-1.0] func2 -> INFO 07d at Module._compile (module.js:653:30)
UTC [peer.chaincode.dev-peer0.org1.example.com-mycontract-1.0] func2 -> INFO 07e at Object.Module._extensions..js (module.js:664:10)
UTC [peer.chaincode.dev-peer0.org1.example.com-mycontract-1.0] func2 -> INFO 07f at Module.load (module.js:566:32)
UTC [peer.chaincode.dev-peer0.org1.example.com-mycontract-1.0] func2 -> INFO 080 at tryModuleLoad (module.js:506:12)
UTC [peer.chaincode.dev-peer0.org1.example.com-mycontract-1.0] func2 -> INFO 081 at Function.Module._load (module.js:498:3)
导致此错误的原因是什么?
这是一个愚蠢的错误。当我们实例化一个链码时,我们正在为该特定链码创建一个 docker 图像,其中包含我们为其指定的特定名称和版本。即使我们对它进行了更改,如果我们尝试使用相同的命令实例化它,也会始终使用相同的图像。因此,如果您在链代码实例化方面遇到类似问题,我会建议您 运行 docker image rmi $(docker image images dev-* -q)
然后尝试再次实例化您的链代码。希望这对其他人有帮助。
我尝试在使用以下命令成功安装链代码后实例化它 docker container exec -it cli peer chaincode install -n mycontract p /opt/gopath/src/github.com/sacc -v 1.0 -l node
并且当我尝试使用此命令实例化它时 docker container exec -it cli peer chaincode instantiate -n mycontract -v 1.0 -o orderer.example.com:7050 -C mychannel -c '{"Args":["org.myproject.com:instantiate"]}' -P "AND('Org1MSP.member')" -l node
我收到这些错误消息我的同行日志
UTC [peer.chaincode.dev-peer0.org1.example.com-mycontract-1.0] func2 -> INFO 077 Error: Cannot find module './../ledger-api/state.js'
UTC [peer.chaincode.dev-peer0.org1.example.com-mycontract-1.0] func2 -> INFO 078 at Function.Module._resolveFilename (module.js:548:15)
UTC [peer.chaincode.dev-peer0.org1.example.com-mycontract-1.0] func2 -> INFO 079 at Function.Module._load (module.js:475:25)
UTC [peer.chaincode.dev-peer0.org1.example.com-mycontract-1.0] func2 -> INFO 07a at Module.require (module.js:597:17)
UTC [peer.chaincode.dev-peer0.org1.example.com-mycontract-1.0] func2 -> INFO 07b at require (internal/module.js:11:18)
UTC [peer.chaincode.dev-peer0.org1.example.com-mycontract-1.0] func2 -> INFO 07c at Object. (/usr/local/src/documentototal.js:17:15)
UTC [peer.chaincode.dev-peer0.org1.example.com-mycontract-1.0] func2 -> INFO 07d at Module._compile (module.js:653:30)
UTC [peer.chaincode.dev-peer0.org1.example.com-mycontract-1.0] func2 -> INFO 07e at Object.Module._extensions..js (module.js:664:10)
UTC [peer.chaincode.dev-peer0.org1.example.com-mycontract-1.0] func2 -> INFO 07f at Module.load (module.js:566:32)
UTC [peer.chaincode.dev-peer0.org1.example.com-mycontract-1.0] func2 -> INFO 080 at tryModuleLoad (module.js:506:12)
UTC [peer.chaincode.dev-peer0.org1.example.com-mycontract-1.0] func2 -> INFO 081 at Function.Module._load (module.js:498:3)
导致此错误的原因是什么?
这是一个愚蠢的错误。当我们实例化一个链码时,我们正在为该特定链码创建一个 docker 图像,其中包含我们为其指定的特定名称和版本。即使我们对它进行了更改,如果我们尝试使用相同的命令实例化它,也会始终使用相同的图像。因此,如果您在链代码实例化方面遇到类似问题,我会建议您 运行 docker image rmi $(docker image images dev-* -q)
然后尝试再次实例化您的链代码。希望这对其他人有帮助。