Exec: “ gcc”: 尝试构建时在% PATH% 中找不到可执行文件

我使用的是 Windows10。当我尝试构建 链码时,它报告了这个错误

# 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"
)

多克运行良好。

209182 次浏览

Gcc 应该是不必要的,除非您正在为非 Windows 平台进行交叉编译,或者使用 cgo。 但是,如果仍然需要 gcc,则应该安装 MinGW,它为 Windows 提供了 gcc 端口(Cygwin 和 msys 也应该可以工作,尽管我从未真正测试过这一点)。

Edit: 我现在从您的错误消息中看到,这是一个需要 gcc 的依赖项。如果您还不知道这一点,那么 gcc 是一个 c/c + + 编译器,在这种情况下,可能需要编译依赖项或子依赖项包含的 c 源文件。

Gcc (GCC)提供了一个 C 编译器。在 Windows 上,安装 TDM-GCCgithub.com/miekg/pkcs11包使用 CGO。Cgo 支持创建调用 C 代码的 Go 包。

对于 Windows 环境下的超级账本,为什么去构建不起作用给出了正确的解释作为其他答案。 出于编译的目的,只要让它工作而不安装任何额外的东西,您可以尝试以下方法

go build --tags nopkcs11

对我有用,我希望对你也有用。

  1. 你需要下载 MingGW64
  2. 将 MingGW64文件夹放入 $PATH
  3. 运行构建 xxx.go (使用 cgo 库)

嗨 jaswanth 主要问题是您没有将% GO _ HOME% pkg 工具 windows _ amd64注册到您的 Environment Path。 % GO _ HOME% 是您第一次安装 GO 的存储库。

用 MSYS2修复“ Exec: “ gcc”: 在% PATH% 中找不到可执行文件”错误的说明:

  • 下载 MSYS2。
  • 将 MSYS2文件夹放入 $PATH 中。
  • 启动 MSYS2命令行程序。
  • 运行这个命令: pacman -S gcc

1)从 > https://sourceforge.net/projects/mingw-w64/安装 .exe

1.2) ! 使用 x86_64架构

2)在 User VariablesSystem Variables中将 C:\Program Files\mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64\bin加入到 PATH中。对我来说这是可行的。

!要编辑 Path变量,按 Windows键,键入“路径”,选择“编辑系统环境变量”,单击“环境变量”,在 System variablesUser variables中找到 Path变量,然后编辑。

如果你正在运行 Ubuntu,请做:

apt-get install build-essential

这解决了问题,它安装了 gcc/g + + 编译器和库。

在 Windows 上安装 http://tdm-gcc.tdragon.net/download,就是这样。

你可以试试——这不是一个解决方案,而是一个临时解决方案

cgo_enabled=0 go build

一旦安装了 gcc-并确保% PATH 有办法找到它(gcc.exe)-这个问题就应该解决了。

同样,运行这个命令将确保 cgo 开启的变量在终端打开时保持这种状态。这样就不必在每次构建时都加上前缀。

export cgo_enabled=0 go build

和其他一样,只需安装 tdm-gcc,但是你可以使用它的终端“ MinGW”,你可以从开始菜单文件夹 tdm-gcc 访问它,启动后,浏览到你的项目,并再次运行它

请安装后,图形用户界面将自动采取明 GW。

Http://mingw.org/wiki/getting_started

在 Ubuntu 上非常简单,但是在 windows 上需要这样做:

  1. http://www.mingw.org/上下载 MinGW
  2. 在基本软件包 Gcc-g + + 上安装(见 这个画面)
  3. 窗口变量的修补程序。
  4. 重新启动,然后继续“ Go get...”
$ go env

检查 启用政府总部,如果它的 1将其改为 0

$export CGO_ENABLED=0

如果您正在使用一个高山的基础图像与您的 Dockerfile

安装符合您要求的 build-base

apk add build-base

如果你正在运行 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/

我也遇到了这个消息,但在我的情况下,它缺少 gcc.exe。我使用了 巧克力并安装了 mingw,然后它工作了。

详情:

  1. 下载 巧克力
  2. choco install mingw -y
  3. 检查: gcc -v

在 Windows 上,你可以通过 Scoop 安装 gcc:

scoop install gcc

我是一个 Windows 用户,我从下面的链接下载了 tdm-gcc (基于 MinGW-w64) :

Https://jmeubank.github.io/tdm-gcc/

安装后,它创建了一个名为“ TDM-GCC-64”的文件夹。

我把“ C: TDM-GCC-64箱”加到我的 路径上,它解决了我的问题。

对我来说: 操作系统: 视窗10

命令:

choco install mingw

安装巧克力如果没有安装: 链接: < a href = “ https://www.likidweb.com/kb/how-to-install-Chocolatey-on-windows/”rel = “ norefrer”> https://www.liquidweb.com/kb/how-to-install-chocolatey-on-windows/

对我有用。

对于 Ubuntu 来说,我只需要简单地运行:

安装 gcc

把这个加到你的 Dockerfile

RUN apk add alpine-sdk

在 Amazon Linux 2上:

  1. 安装启动

    我们得到 https://go.dev/dl/go1.18.1.linux-amd64.tar.gz

    Rm-rf/usr/local/go & & tar-C/usr/local-xzf go1.18.1.linux-amd64.tar. gz

    Export PATH = $PATH:/usr/local/go/bin

  2. 安装 gcc

    Sudo yum groupinstall“开发工具”

我建议使用软件包组,即使没有它也可以完成,因为 groupinstall 为您提供了在 Amazon Linux 和 Redhat、 CentOS 上编译软件所需的软件包。

只要按照指示做,就能解决我的问题

Https://code.visualstudio.com/docs/cpp/config-mingw

要求通过 MSYS2安装 Mingw-w64

重要命令是 pacman -S --needed base-devel mingw-w64-x86_64-toolchain 然后把 C:\msys64\mingw64\bin加到 PATH

谢谢