MacOS Big Sur下搭建Hyperledger Fabric v2.2.1开发环境报错如何解决
Hyperledger Fabric v2.2.1 开发环境搭建问题解决方案
根因说明
你遇到的报错均由Go版本不匹配导致:Hyperledger Fabric v2.2.1 官方适配的Go版本最高为1.15.x,Go 1.16及以上版本的类型校验、常量计算规则变更,会触发旧版本依赖包的常量溢出报错,同时高版本goimports的校验规则也和v2.2.1的代码规范要求存在差异。
推荐修复步骤
- 卸载当前Go 1.17.2版本,删除
/usr/local/go目录以及所有和Go 1.17相关的环境变量配置 - 下载安装Go 1.15.15(v2.2.1官方验证的最稳定适配版本),配置GOROOT、GOPATH、PATH环境变量后执行
go version确认版本生效 - 进入Fabric源码根目录,执行命令清理之前的无效构建产物和依赖文件:
make clean rm -rf vendor go.sum go.mod
- 重新拉取适配版本的依赖:
go mod tidy go mod vendor
- 批量修正所有go文件的import格式,无需手动逐个修改:
goimports -l -w ./
- 重新执行校验命令即可通过:
make basic-checks integration-test-prereqs
临时兼容方案(不推荐用于生产构建)
如果必须保留Go 1.17.2版本,可以修改根目录Makefile中的staticcheck命令,添加vendor目录排除规则,跳过依赖包的静态校验:
找到staticcheck对应的执行行,修改为:staticcheck -exclude vendor/ ./...
内容的提问来源于stack exchange,提问作者Johnny
相关产品推荐
相关产品推荐

