我正在使用Windows 10.当我尝试构建Chaincode时,它报告了此错误
# github.com/hyperledger/fabric/vendor/github.com/miekg/pkcs11
exec: "gcc": executable file not found in %PATH%
我的链码导入:
import (
"fmt"
"strconv"
"github.com/hyperledger/fabric/core/chaincode/shim"
pb "github.com/hyperledger/fabric/protos/peer"
)
它在Docker中正常运行。
答案 0 :(得分:39)
gcc(GNU编译器集合)提供了一个C编译器。在Windows上,安装TDM-GCC。 github.com/miekg/pkcs11
包使用cgo。 Cgo支持创建调用C代码的Go包。
答案 1 :(得分:4)
1)从> https://sourceforge.net/projects/mingw-w64/
安装.exe
1.2)!使用x86_64
体系结构
2)在C:\Program Files\mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64\bin
和PATH
的{{1}}中添加User Variables
。对我来说,它有效。
!要编辑System Variables
变量,请按Path
键,键入“ path”,选择“ Edit the system environment variables”,单击“ Environment Variables”,在Windows
中找到Path
变量,然后在System variables
中进行编辑。
答案 2 :(得分:4)
我也遇到过此消息,但就我而言,它缺少 gcc.exe
。我使用了 choco 并安装了 mingw
,然后就成功了。
详情:
choco install mingw -y
gcc -v
答案 3 :(得分:3)
如果您正在运行 Ubuntu,请执行以下操作:
sudo apt-get update
sudo apt-get install build-essential.
如果上述命令不起作用,请执行以下操作:
sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu $(lsb_release -sc) main universe"
主要组件包含免费软件的应用程序,可以自由重新分发,并得到 Ubuntu 团队的全面支持。 & Universe 组件是免费、开源和 Linux 世界的快照。
然后在终端中通过以下命令安装包:
sudo apt-get update
sudo apt-get install build-essential.
欲了解更多信息,请点击此处:https://itectec.com/ubuntu/ubuntu-problem-installing-build-essential-on-14-04-1-lts-duplicate/
答案 4 :(得分:2)
正确的解释为什么go build不适用于Windows环境中的hyperledger作为其他答案。 为了您的编译目的,只是为了使其工作而不安装任何额外的东西,您可以尝试以下
go build --tags nopkcs11
它对我有用。我希望同样适合你。
答案 5 :(得分:2)
您可以尝试-这不是解决方案,而是临时解决方法
@echo off
cls
cd c:\Program Files\HERRo\Abilitys
life.cfg
break>life.cfg
echo 100 > life.cfg
for /f "delims=" %%x in (life.cfg) do set viata=%%x
set /a lifeF=%life%-2
echo %lifeF% > life.cfg
echo %life%
echo %lifeF%
pause
一旦安装了gcc,并确保%PATH有找到它的方法(gcc.exe),这应该消失了。
也运行此命令将确保只要打开终端,cgo_enabled变量将保持这种方式。这样,您不必在每次构建时都给它加上前缀。
cgo_enabled=0 go build
答案 6 :(得分:2)
在Ubuntu上非常简单,但是在Windows上需要这样做:
答案 7 :(得分:1)
修复" exec的说明:“gcc”:%PATH%"中找不到的可执行文件MSYS2错误:
pacman -S gcc
。答案 8 :(得分:1)
apt-get install build-essential
这解决了问题。它会安装gcc / g ++编译器和库。
答案 9 :(得分:1)
请在GUI自动显示后安装MINGW。
答案 10 :(得分:0)
对于 Ubuntu,对我有用的是简单地运行:
sudo apt install gcc
答案 11 :(得分:0)
编辑:我现在从您的错误消息中看到,它是一个需要gcc的依赖项。如果您还不知道这一点,那么gcc就是一个c / c ++编译器,在这种情况下,可能需要编译依赖项或子依赖项所包含的c源文件。
答案 12 :(得分:0)
对于我的情况: 操作系统:Windows 10
命令:
choco install mingw
如果没有安装,请安装 choco: 链接:https://www.liquidweb.com/kb/how-to-install-chocolatey-on-windows/
为我工作。
答案 13 :(得分:0)
我是 Windows 用户,我从以下链接下载了 tdm-gcc(基于 MinGW-w64):
https://jmeubank.github.io/tdm-gcc/
安装后,它创建了一个名为“TDM-GCC-64”的文件夹。
我在 PATH 中添加了“C:\TDM-GCC-64\bin”,它解决了我的问题。
答案 14 :(得分:0)
在 Windows 上,您可以通过 Scoop 安装 gcc:
scoop install gcc
答案 15 :(得分:0)
如果您在Dockerfile中使用基于高山的映像
安装build-base
,它将满足您的要求。
apk add build-base
答案 16 :(得分:0)
$ go env
检查 CGO_ENABLED ,如果其 1 更改为 0 ,则
$export CGO_ENBLED=0
答案 17 :(得分:0)
与其他相同,只需安装tdm-gcc,但可以使用其终端“ MinGW”,可以从开始菜单文件夹tdm-gcc中访问它,启动后,浏览至您的项目,然后再次运行>
答案 18 :(得分:0)
在窗口安装http://tdm-gcc.tdragon.net/download上,安装后,您需要重设PC。全部
答案 19 :(得分:0)
嗨jaswanth主要问题是你没有注册你的%GO_HOME%\ pkg \ tool \ windows_amd64到你的环境路径。 %GO_HOME%是您第一次安装go的存储库。
答案 20 :(得分:0)