安装Hyperledger Fabric时报tar: Unrecognized archive format错误如何解决
报错原因
Hyperledger Fabric 2.3.3及更早的官方版本未提供适配Apple M1芯片对应arm64架构的预编译二进制包。执行安装脚本时,脚本会自动识别当前系统为darwin/arm64架构,尝试拉取对应架构的二进制包,官方源不存在对应资源时实际返回的是404错误页面而非合法的tar压缩包,因此解压时触发Unrecognized archive format报错,最终提示对应版本的平台专用fabric二进制包无法下载。
解决办法
- 安装支持arm64架构的高版本Fabric
Fabric从2.4.x版本开始正式提供darwin/arm64架构的预编译二进制包,执行安装命令时指定2.4.0及以上的版本即可正常安装,示例命令如下:curl -sSL https://raw.githubusercontent.com/hyperledger/fabric/main/scripts/bootstrap.sh| bash -s -- 2.5.0 - 用Rosetta 2转译运行x86版本二进制
如果必须使用2.3.3这类低版本,可以右键点击终端应用,选择「显示简介」,勾选「使用Rosetta打开」,重启终端后重新执行原安装命令即可,脚本会识别为x86架构拉取darwin/amd64的二进制包,通过Rosetta转译可正常运行。 - 本地手动编译二进制包
若上述方案都不满足使用需求,可以拉取对应版本的Fabric源码,在本地M1环境中自行编译对应架构的二进制包使用。
内容的提问来源于stack exchange,提问作者Nagendra Murti
相关产品推荐
相关产品推荐

