not found windows go build hyperledger-fabric cgo

windows - found - exec: "gcc": el archivo ejecutable no se encuentra en% PATH% al intentar compilar



exec gcc executable file not found in path (7)

  1. necesitas descargar MingGW64
  2. ponga la carpeta MingGW64 en su $ PATH
  3. ejecuta go build xxx.go (con la biblioteca cgo)

Estoy usando Windows 10. Cuando traté de construir Chaincode , reporté este error

# github.com/hyperledger/fabric/vendor/github.com/miekg/pkcs11 exec: "gcc": executable file not found in %PATH%

Mi código de cadena importa:

import ( "fmt" "strconv" "github.com/hyperledger/fabric/core/chaincode/shim" pb "github.com/hyperledger/fabric/protos/peer" )

Está funcionando bien en Docker .


1) Instale .exe desde> https://sourceforge.net/projects/mingw-w64/

1.2)! usar la arquitectura x86_64

2) Agregue C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/bin a PATH en User Variables y en System Variables . Para mi funciona.

! Para editar la variable de Path , presione la tecla de Windows , escriba ''ruta'', elija ''Editar las variables de entorno del sistema'', haga clic en ''Variables de entorno'', busque la variable de Path en las System variables y en las User variables luego edite.


Hola jaswanth, el principal problema es que no has registrado tu% GO_HOME% / pkg / tool / windows_amd64 en tu ruta de entorno. % GO_HOME% es el repositorio donde instala su go la primera vez.


Instrucciones para reparar el error " exec:" gcc ": archivo ejecutable no encontrado en% PATH% " con MSYS2:

  • Descargar MSYS2.
  • Ponga la carpeta MSYS2 en su $ PATH.
  • Inicie el programa de línea de comandos MSYS2.
  • Ejecute este comando: pacman -S gcc .

Las explicaciones correctas de por qué ir a compilar no funciona para el Hyperledger en el entorno de Windows se ofrecen como otras respuestas. Para sus propósitos de compilación, solo para hacer que funcione sin instalar nada adicional, puede intentar lo siguiente

go build --tags nopkcs11

Funciono para mi Espero que lo mismo funcione para ti también.


gcc no debería ser necesario, a menos que esté compilando de forma cruzada para una plataforma que no sea Windows, o use cgo. Sin embargo, si aún necesita gcc, debe instalar MinGW, que proporciona un puerto gcc para Windows (Cygwin y msys también deberían funcionar, aunque en realidad nunca lo he probado).

Edit: veo en su mensaje de error ahora, que es una dependencia que requiere gcc. Si aún no lo sabía, gcc es un compilador ac / c ++ y, en este caso, probablemente sea necesario para compilar los archivos de origen c incluidos por una dependencia o subdependencia.


gcc (la colección del compilador de GNU) proporciona un compilador de C. En Windows, instale TDM-GCC . El paquete cgo usa cgo . Cgo permite la creación de paquetes Go que llaman código C