Ответ 1
gcc (сборник компиляторов GNU) предоставляет компилятор C. В Windows установите TDM-GCC. Пакет github.com/miekg/pkcs11
использует cgo. Cgo позволяет создавать пакеты Go, которые вызывают код C.
Я использую 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 все работает нормально.
gcc (сборник компиляторов GNU) предоставляет компилятор C. В Windows установите TDM-GCC. Пакет github.com/miekg/pkcs11
использует cgo. Cgo позволяет создавать пакеты Go, которые вызывают код C.
apt-get install build-essential
Это решило проблему. Он устанавливает компиляторы и библиотеки gcc/g++.
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
, затем отредактируйте.
Правильные объяснения, почему сборка go не работает для гиперссылки в среде Windows, приведены в качестве других ответов. Для ваших целей компиляции, чтобы заставить его работать, не устанавливая ничего лишнего, вы можете попробовать следующее
go build --tags nopkcs11
Это сработало для меня. Надеюсь, что то же самое для вас тоже.
В окне установки http://tdm-gcc.tdragon.net/download, после установки вам необходимо перезагрузить компьютер. все это
Инструкция по исправлению ошибки "exec:" gcc ": исполняемый файл не найден в% PATH%" с MSYS2:
pacman -S gcc
.gcc не требуется, если вы не выполняете кросс-компиляцию для платформы без окон или не используете cgo. Однако, если вам все еще нужен gcc, вы должны установить MinGW, который предоставляет gcc-порт для Windows (Cygwin и msys также должны работать, хотя я никогда не тестировал это).
Изменить: теперь я вижу из вашего сообщения об ошибке, что это зависимость, которая требует gcc. Если вы этого еще не знали, gcc является компилятором c/С++, и в этом случае, вероятно, необходимо скомпилировать исходные файлы c, включенные в зависимость или подзависимость.
Здравствуйте, jaswanth, основная проблема в том, что вы еще не зарегистрировали свой% GO_HOME%\pkg\tool\windows_amd64 для своего Путь к среде. % GO_HOME% - это хранилище, в которое вы устанавливаете Go в первый раз.
Я столкнулся с той же проблемой при попытке отладки проекта go
с помощью Intellij GoLand
в Ubuntu 18.04
. Установка gcc
коллекции компиляторов GNU с помощью следующей команды исправит это
sudo apt install gcc
Пожалуйста, найдите более подробную информацию о GCC здесь
Я только что скачал tdm64-gcc5.1.0.2.exe, и он работал для меня. Спасибо @peterSO.