Aquí está el mensaje de error:
% go get
can't load package: package .: no buildable Go source files in /Users/7yan00
% echo $GOPATH
/Users/7yan00/Golang
¿Cómo solucionaría ese error?
Asegúrese de estar usando ese comando en la carpeta de origen del proyecto Go (como /Users/7yan00/Golang/src/myProject ).
Una alternativa ( similar a este error) es usar la -dopción (ver go getcomando )
go get -d
La
-dbandera le indica a get que se detenga después de descargar los paquetes; es decir, le indica a get que no instale los paquetes.
Vea si eso ayuda en su caso.
Pero de manera más general, como se describe en este hilo :
go getes para paquete (s), no para repositorios.así que si quieres un paquete específico, por ejemplo,
go.text/encodingusa
go get code.google.com/p/go.text/encoding
si desea todos los paquetes en ese repositorio, use
...para indicar que:
go get code.google.com/p/go.text/...
go getningún paquete remoto. Siempre lo consigono buildable Go source files in.Debería consultar el
$GOPATHdirectorio. Si hay un directorio vacío con el nombre del paquete,go getno descarga el paquete desde el repositorio.Por ejemplo, si quiero obtener el
github.com/googollee/go-socket.iopaquete de su repositorio de github, y ya hay un directorio vacíogithub.com/googollee/go-socket.ioen el$GOPATH,go getno descarga el paquete y luego se queja de que no hay un archivo fuente de Go compilable en el directorio. Primero elimine cualquier directorio vacío.fuente
Otro posible motivo del mensaje:
Es cuando los archivos fuente que se compilan tienen:
// +build ignoreEn cuyo caso, los archivos se ignoran y no se pueden compilar según lo solicitado. Este comportamiento se documenta en https://golang.org/pkg/go/build/
fuente
// +build myfeatureetiqueta. La solución fue agregar un archivo en el paquete llamado dummy.go que no contenía nada más que la declaración del paquete (es decir,package myfeature).// +build !windows// +build go1.9que estaba causando este error cuando intentaba compilar con go1.8Para resolver esto en mi situación:
Tuve que especificar un subpaquete más específico para instalar.
Incorrecto:
go get github.com/garyburd/redigoCorrecto:
go get github.com/garyburd/redigo/redisfuente
Si quiere todos los paquetes en ese repositorio, use
...para indicar eso, como:go get code.google.com/p/go.text/...fuente
Tenía este código de error exacto y después de verificar mi repositorio descubrí que no había archivos go, sino más directorios. Así que para mí fue más una pista falsa que un error.
Recomendaría hacer
y asegurándose de que todo esté como debería ser, verifique las variables de entorno en su sistema operativo y asegúrese de que su shell (bash o w / e) no lo comprometa a través de algo como un archivo .bash_profile o .bashrc. buena suerte.
fuente
puedes intentar descargar paquetes desde mod
go get -v allfuente