hyperledger Fabric 出现错误:“goimports:找不到命令”

kuk*_*uku 10 hyperledger hyperledger-fabric

当我构建超级账本结构项目时,出现以下错误。但我已成功安装 goimports。为了找到原因,我./scripts/golinter.sh单独运行,并没有出现这样的错误。当我制作整个fabric项目时,错误原因是什么?

LINT:运行代码检查..检查 ./accesscontrol ./scripts/golinter.sh:第 23 行:goimports:找不到命令 Makefile:148:目标“linter”的配方失败 make:*** [linter] 错误 127

在此输入图像描述

Rod*_*lfo 12

如果您运行的是 go1.17,您可能需要使用go install而不是go get

go install golang.org/x/tools/cmd/goimports@latest
Run Code Online (Sandbox Code Playgroud)


小智 7

在 macOS 中:

vi ~/.bashrc
export PATH="$PATH:$HOME/go/bin"
Run Code Online (Sandbox Code Playgroud)


pra*_*ant 6

goimports 更新您的 Go 导入行,添加缺失的行并删除未引用的行。它是用户需要的工具

go get golang.org/x/tools/cmd/goimports 
Run Code Online (Sandbox Code Playgroud)

参考


lui*_*iss 1

当您直接运行时./scripts/golinter.sh,您是在本地系统上运行它,因此它会找到本地安装的goimports实用程序。

当您运行make(或更具体地说,make linter)时,golinter.sh脚本将在基于图像的容器内运行hyperledger/fabric-buildenv。肯定存在一些不匹配的地方,所以我建议您删除所有标记为 的图像的痕迹hyperledger/fabric-buildenv并运行make buildenv以创建新图像。更好的是make clean后面跟着make,因为还有其他图像构建在 之上hyperledger/fabric-buildenv