我一直在关注超级账本结构教程,但资产转移基本链码未正确部署。我的 Fabric 版本是 2.2,我的 golang 版本是 1.18.x .
我已经运行了这个命令:
./network.sh deployCC -ccn basic -ccp ../asset-transfer-basic/chaincode-go -ccl go
我遇到此错误:
Error: failed to read chaincode package at 'basic.tar.gz': open basic.tar.gz: no such
file or directory
+ PACKAGE_ID=
Error: failed to normalize chaincode path: 'go list' failed with: go: could not
create module cache: mkdir /home/hypernew/go/pkg/mod: permission denied: exit status 1
我可以做什么来解决这个问题?
最好仔细阅读入门和先决条件。 您是否已从 github fabric-samples 正确提取了代码?大多数情况下,这应该可以解决问题。
可能是 GOPATH 环境变量设置不正确。由于 go 模块在 2.2+ 中启用用于供应商,因此 GOPATH 设置至关重要。
尝试以下命令
go mod vendor
来自链代码目录。你甚至可以尝试在本地编译这个包,看看 golang/gopath 等是否被正确处理。使用以下内容进行编译
go build --tags nopkcs11
如果这在本地有效,那么在network.sh中也应该同样有效。
就我而言,没有安装 go。一旦我安装好了,一切就OK了。