~/src/go-statsd-client> echo $GOPATH
/Users/me/gopath
~/src/go-statsd-client> echo $GOROOT
/usr/local/Cellar/go/1.1.1\
~/src/go-statsd-client> go install
go install: no install location for directory /Users/me/src/go-statsd-client outside GOPATH
No importa en qué estructura esté el proyecto, esto siempre falla con el mismo mensaje. Ir a construir funciona perfectamente.
Aquí está mi go env
GOARCH="amd64"
GOBIN=""
GOCHAR="6"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/Users/me/gopath"
GORACE=""
GOROOT="/usr/local/Cellar/go/1.1.1"
GOTOOLDIR="/usr/local/Cellar/go/1.1.1/pkg/tool/darwin_amd64"
CC="gcc"
GOGCCFLAGS="-g -O2 -fPIC -m64 -pthread -fno-common"
CGO_ENABLED="1"
Esto está en Mac OSX Mountain Lion y go se instaló con homebrew.

$GOPATH/bindirectorio. Era necesario crear esta carpeta, no necesitaba configurarGOBINenv var.PYTHONHOMElugar deGOROOTy enPYTHONPATHlugar deGOPATH. Incluso (GC) C tieneLIBRARY_PATH,C_INCLUDE_PATH, etc.export GOPATH=$PWD(parado en la raíz de un árbol clon de Golang), su respuesta no puede explicar el error en este caso.GOPATH, pero desde afuera mirando hacia adentro, esto parece completamente insensato. ¿Por qué tengo que mutar variables de entorno globales sólo para construir un paquete localmente 🤔Para cualquier usuario de OS X y para mí en el futuro, también debe configurarlo
GOBINpara evitar este mensaje confuso en la instalación ygo getfuente
GOBIN. Si configurarlo$GOPATH/binmarca la diferencia, entonces hay algo más que está mal con tu configuración o estás haciendo algo que no deberías.Está utilizando go install en un directorio fuera de la carpeta GOPATH. Establezca su variable GOBIN env o mueva la carpeta src dentro de GOPATH.
Más información: GO BUILD Código fuente , línea 296
fuente
Necesita configurar ambos
GOPATHyGOBIN. Asegúrese de haber hecho lo siguiente (reemplácelo~/gocon su preferidoGOPATHy luego cámbieloGOBIN). Esto se prueba enUbuntu 16.04 LTS.La respuesta seleccionada no resolvió el problema para mí.
fuente
Querrá tener 3 directorios dentro del directorio GOPATH elegido.
Luego, ejecutará
go installdesde someProgram (que coloca un ejecutable en bin) o someLibrary (que coloca una biblioteca en pkg).fuente
Tuve este problema en Windows.
Mi problema era que mi
%GOPATH%variable de entorno estaba configurada enC:\Users\john\src\goworkspaceen vez de
C:\Users\john\src\goworkspace\Agregar la barra diagonal faltante al final lo arregló para mí.
fuente
Para lo que vale, aquí está mi .bash_profile, que funciona bien para mí en una Mac con Atom, después de instalar ir con Homebrew:
fuente
En mi caso (OS X) fue porque lo configuré
GOPATHen/home/username/go(según el libro) en lugar de/Users/username/gofuente
Estoy en Windows, y lo obtuve dando un comando
go help gopatha cmd, y leí el texto en negrita en las instrucciones,es decir, si el código que wnat instalar está en
..BaseDir...\SomeProject\src\basic\setel GOPATH no debe ser la misma ubicación que el código, debe ser justo Proyecto Base DIR:..BaseDir...\SomeProject.si GOPATH se configuró en DIR del proyecto base y aún tiene este problema, en Windows puede intentar configurar GOBIN como
Base Project DIR\bino%GOPATH%\bin.fuente
Cuidado al correr
Asuma que su código existe en lugares específicos relacionados con
GOPATH. Entonces, en su lugar, puede usar docker para ejecutar cualquier comando go:Y ahora puede usar cualquier comando de golang, por ejemplo:
fuente
En Windows, mi ventana cmd ya estaba abierta cuando configuré la variable de entorno GOPATH. Primero tuve que cerrar el cmd y luego volver a abrirlo para que sea efectivo.
fuente
El problema es que no está en el directorio del paquete que tiene el archivo go con la función go main y go install no puede encontrar el comando (archivo go con la función go main) que desea instalar.
y luego ejecuta:
fuente
En OSX 10.14 Mojave,
goestá normalmente instalado en/usr/local/go.Por lo tanto, configure estos ENV y debería estar listo para comenzar.
export GOPATH=/usr/local/go && export GOBIN=/usr/local/go/binAdemás, agréguelos a su
bash_profileozsh_profilesi funciona.echo "export GOPATH=/usr/local/go && export GOBIN=/usr/local/go/bin" >> ~/.bash_profile && source ~/.bash_profilefuente