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?
Respuestas:
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 consigo no 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ío github.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.
Otro posible motivo del mensaje:
no se puede cargar el paquete: ....: no hay archivos fuente de Go compilables
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/
// +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.8
Si quiere todos los paquetes en ese repositorio, use ...
para indicar eso, como:
go get code.google.com/p/go.text/...
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
ir env
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.