You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Hyperledger Fabric创建通道时提示osnadmin命令不存在如何解决?

执行通道创建报错截图

2021-11-03 00:38:38.401 +06 [common.tools.configtxgen] doOutputBlock -> INFO 007 正在写入创世区块

  • res=0 正在创建通道mychannel 使用组织1
  • 执行osnadmin channel join命令返回res=127
  • scripts/createChannel.sh: 第40行: osnadmin: 未找到命令
  • 通道创建失败

问题原因

res=127是Linux系统下的命令不存在错误,对应此场景的具体原因有三类:

  • 使用的Hyperledger Fabric版本低于2.3:osnadmin是Fabric 2.3版本才正式引入的Orderer节点管理工具,低于该版本的Fabric二进制包中没有该命令
  • 二进制文件路径未加入系统环境变量:即使使用2.3及以上版本的Fabric,没有将存放osnadmin的fabric-samples/bin目录加入PATH变量,系统也无法定位到命令
  • 脚本执行时未继承环境变量:当前终端已经配置了PATH,但直接执行createChannel.sh脚本时,子shell没有继承当前终端的环境变量,依然找不到命令

解决方案

按优先级依次排查即可:

  1. 确认Fabric版本:在test-network目录执行peer version,如果版本号低于2.3,重新下载2.3及以上版本的Fabric镜像和二进制文件,执行./bootstrap.sh 2.5.5 1.5.8即可下载适配的稳定版本
  2. 配置环境变量:在test-network目录执行export PATH=${PWD}/../bin:$PATH,执行完成后运行osnadmin version验证,能正常输出版本号说明配置生效
  3. 调整脚本执行方式:不要直接运行./scripts/createChannel.sh,改为source ./scripts/createChannel.sh执行,让脚本继承当前终端的环境变量;也可以直接修改createChannel.sh脚本,在开头加入一行配置,写入bin目录的绝对路径:export PATH="/home/mkhan/hypfabric/abrar/fabric-samples/bin:$PATH"

内容的提问来源于stack exchange,提问作者M. Khan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 16:54:03