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%
мой chaincode импорта:
import (
"fmt"
"strconv"
"github.com/hyperledger/fabric/core/chaincode/shim"
pb "github.com/hyperledger/fabric/protos/peer"
)
он работает нормально в настройки.
6 ответов
gcc (коллекция компиляторов GNU) предоставляет компилятор C. На Windows, установить TDM-GCC. The github.com/miekg/pkcs11
использует cgo. Cgo позволяет создавать пакеты Go, вызывающие код C.
правильные объяснения, почему go build не работает для hyperledger в среде Windows, приведены в качестве других ответов. Для ваших целей компиляции, просто чтобы заставить его работать без установки чего-либо дополнительного, вы можете попробовать следующее
go build --tags nopkcs11
это сработало для меня. Надеюсь, у тебя тоже получится.
gcc не должен быть необходим, если вы не перекрестная компиляция для платформы, отличной от windows, или не используете cgo. Если вам все еще нужен gcc, однако, вы должны установить MinGW, который предоставляет порт gcc для Windows (Cygwin и msys также должны работать, хотя я никогда не тестировал это).
Edit: я вижу из Вашего сообщения об ошибке, что это зависимость, которая требует gcc. Если вы еще этого не знали, gcc является компилятором c / C++, и в этом случае, вероятно, необходимо скомпилировать c исходные файлы, включенные зависимостью или суб-зависимостью.
- вам нужно скачать MingGW64
- поместите папку MingGW64 в свой $PATH
- выполнить go build xxx.go (с библиотекой cgo)
Hi jaswanth основная проблема заключается в том, что вы не зарегистрировали свой %GO_HOME%\pkg\tool\windows_amd64 в Yuour путь к среде. %GO_HOME% - это репозиторий, в котором вы устанавливаете go в первый раз.
инструкция для исправления "exec: "gcc": исполняемый файл не найден в %PATH%" ошибка с MSYS2:
- скачать MSYS2.
- поместите папку MSYS2 в свой $PATH.
- запустите программу командной строки MSYS2.
-
выполните следующую команду:
pacman -S gcc
.