Hyperledger Fabric部署Go链码报错:go可执行文件不在$PATH中
问题排查与解决
核心原因
使用sudo执行命令时会切换到root用户环境,你在~/.bashrc中配置的Go路径仅对当前普通用户生效,root用户的$PATH中未包含Go可执行文件路径,因此出现go: executable file not found in $PATH错误。
解决步骤
方法1:让sudo继承当前用户环境变量
执行命令时添加-E参数,保留当前用户的PATH配置:sudo -E ./network.sh deployCC -c channeluk1 -ccn basic -ccp ../asset-transfer-basic/chaincode-go -ccl go方法2:给root用户配置Go路径
编辑root的环境配置文件/root/.bashrc,添加Go路径配置(替换为你的实际Go安装路径):export PATH=$PATH:/usr/local/go/bin export GOPATH=$HOME/go执行
source /root/.bashrc使配置生效后,再重新运行链码部署命令。方法3:移除sudo,调整文件权限
若当前用户对network.sh及相关目录有操作权限,可直接去掉sudo执行命令:./network.sh deployCC -c channeluk1 -ccn basic -ccp ../asset-transfer-basic/chaincode-go -ccl go若权限不足,先给
network.sh添加执行权限:chmod +x network.sh
验证配置
执行sudo go version,若能正常输出Go版本信息,说明PATH配置已生效,可重新运行链码部署命令。
内容的提问来源于stack exchange,提问作者umitkilic
相关产品推荐
相关产品推荐

