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 -d
opción (ver go get
comando )
go get -d
La
-d
bandera 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 get
es para paquete (s), no para repositorios.así que si quieres un paquete específico, por ejemplo,
go.text/encoding
usa
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 get
ningún paquete remoto. Siempre lo consigono buildable Go source files in
.Debería consultar el
$GOPATH
directorio. Si hay un directorio vacío con el nombre del paquete,go get
no descarga el paquete desde el repositorio.Por ejemplo, si quiero obtener el
github.com/googollee/go-socket.io
paquete de su repositorio de github, y ya hay un directorio vacíogithub.com/googollee/go-socket.io
en el$GOPATH
,go get
no 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 ignore
En 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 myfeature
etiqueta. 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.9
que 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/redigo
Correcto:
go get github.com/garyburd/redigo/redis
fuente
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 all
fuente