~/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/bin
directorio. Era necesario crear esta carpeta, no necesitaba configurarGOBIN
env var.PYTHONHOME
lugar deGOROOT
y enPYTHONPATH
lugar 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
GOBIN
para evitar este mensaje confuso en la instalación ygo get
fuente
GOBIN
. Si configurarlo$GOPATH/bin
marca 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
GOPATH
yGOBIN
. Asegúrese de haber hecho lo siguiente (reemplácelo~/go
con su preferidoGOPATH
y 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 install
desde 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\goworkspace
en 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é
GOPATH
en/home/username/go
(según el libro) en lugar de/Users/username/go
fuente
Estoy en Windows, y lo obtuve dando un comando
go help gopath
a 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\set
el 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\bin
o%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,
go
está 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/bin
Además, agréguelos a su
bash_profile
ozsh_profile
si funciona.echo "export GOPATH=/usr/local/go && export GOBIN=/usr/local/go/bin" >> ~/.bash_profile && source ~/.bash_profile
fuente