Exec: "gcc": исполняемый файл не найден в% PATH% при попытке go build

Я использую 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 все работает нормально.

Ответ 1

gcc (сборник компиляторов GNU) предоставляет компилятор C. В Windows установите TDM-GCC. Пакет github.com/miekg/pkcs11 использует cgo. Cgo позволяет создавать пакеты Go, которые вызывают код C.

Ответ 2

apt-get install build-essential

Это решило проблему. Он устанавливает компиляторы и библиотеки gcc/g++.

Ответ 3

1) Установите .exe из> https://sourceforge.net/projects/mingw-w64/

1.2)! использовать архитектуру x86_64

2) Добавьте C:\Program Files\mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64\bin к PATH в User Variables и в System Variables. Для меня это работает.

! Чтобы отредактировать переменную Path, нажмите клавишу Windows, введите "путь", выберите "Редактировать системные переменные среды", нажмите "Переменные среды", найдите переменную Path в System variables и в User variables, затем отредактируйте.

Ответ 4

Правильные объяснения, почему сборка go не работает для гиперссылки в среде Windows, приведены в качестве других ответов. Для ваших целей компиляции, чтобы заставить его работать, не устанавливая ничего лишнего, вы можете попробовать следующее

go build --tags nopkcs11

Это сработало для меня. Надеюсь, что то же самое для вас тоже.

Ответ 5

В окне установки http://tdm-gcc.tdragon.net/download, после установки вам необходимо перезагрузить компьютер. все это

Ответ 6

Инструкция по исправлению ошибки "exec:" gcc ": исполняемый файл не найден в% PATH%" с MSYS2:

  • Загрузите MSYS2.
  • Поместите папку MSYS2 в вашу папку $ PATH.
  • Запустите программу командной строки MSYS2.
  • Запустите эту команду: pacman -S gcc.

Ответ 7

gcc не требуется, если вы не выполняете кросс-компиляцию для платформы без окон или не используете cgo. Однако, если вам все еще нужен gcc, вы должны установить MinGW, который предоставляет gcc-порт для Windows (Cygwin и msys также должны работать, хотя я никогда не тестировал это).

Изменить: теперь я вижу из вашего сообщения об ошибке, что это зависимость, которая требует gcc. Если вы этого еще не знали, gcc является компилятором c/С++, и в этом случае, вероятно, необходимо скомпилировать исходные файлы c, включенные в зависимость или подзависимость.

Ответ 8

  • вам нужно скачать MingGW64
  • поместите папку MingGW64 в ваш $PATH
  • запустите go build xxx.go(с библиотекой cgo)

Ответ 9

Здравствуйте, jaswanth, основная проблема в том, что вы еще не зарегистрировали свой% GO_HOME%\pkg\tool\windows_amd64 для своего Путь к среде. % GO_HOME% - это хранилище, в которое вы устанавливаете Go в первый раз.

Ответ 10

Я столкнулся с той же проблемой при попытке отладки проекта go с помощью Intellij GoLand в Ubuntu 18.04. Установка gcc коллекции компиляторов GNU с помощью следующей команды исправит это

sudo apt install gcc

Пожалуйста, найдите более подробную информацию о GCC здесь

Ответ 11

Я только что скачал tdm64-gcc5.1.0.2.exe, и он работал для меня. Спасибо @peterSO.