Quiero instalar json2csv usando go get github.com/jehiah/json2csvpero recibo este error:
package github.com/jehiah/json2csv: cannot download, $GOPATH not set. For more details see: go help go path
¿Alguna ayuda sobre cómo solucionar esto en MacOS?
macos
installation
go
Mona Jalal
fuente
fuente

Respuestas:
[Actualización: a partir de Go 1.8, por
GOPATHdefecto$HOME/go, pero aún puede encontrar esto útil si desea comprender elGOPATHdiseño, personalizarlo, etc.]El sitio oficial de Go trata sobre GOPATH y cómo diseñar un directorio de espacio de trabajo .
export GOPATH="$HOME/your-workspace-dir/"- ejecútelo en su shell, luego agréguelo~/.bashrco equivalente para que esté configurado para usted en el futuro. Ir instalará los paquetes debajosrc/,bin/ypkg/, subdirectorios allí. Querrá colocar sus propios paquetes en algún lugar$GOPATH/src, como$GOPATH/src/github.com/myusername/si desea publicar en GitHub. Probablemente también deseeexport PATH=$PATH:$GOPATH/binen su.bashrcpara que pueda ejecutar programas compilados en$GOPATH.Opcionalmente, a través de Rob Pike , también puede configurarlo
CDPATHpara que sea más rápidocdempaquetar directorios en bash:export CDPATH=.:$GOPATH/src/github.com:$GOPATH/src/golang.org/xsignifica que puede escribir encd net/htmllugar decd $GOPATH/src/golang.org/x/net/html.Keith Rarick señala puede configurar
GOPATH=$HOMEpara poner Gosrc/,pkg/ybin/directorios justo debajo de su directorio raíz. Eso puede ser agradable (por ejemplo, es posible que ya tenga$HOME/binen su camino) pero, por supuesto, algunas personas usan múltiples espacios de trabajo, etc.fuente
src/contiene, por ejemplo,github.com/youruser/xygithub.com/youruser/y. Eso es lo que hago. Las personas pueden tener sus razones para hacer lo contrario (¿política de la compañía para mantener los proyectos separados?), Pero no puedo hablar de eso.echo $GOPATHdice? Puede valer la pena publicarlo como una pregunta separada; parece que estás en una situación inusual, y depurarlos en los comentarios puede ser complicado.export; ejecutar/bin/bash -c "echo \$GOPATH"para verificar que los subprocesos puedan ver$GOPATH; si se hace eco vacío, entonces correexport GOPATHy luegogo get ...Este funcionó
Configurar el entorno de desarrollo Go en Ubuntu y cómo solucionar $ GOPATH / $ GOROOT
Pasos
Establezca $ GOPATH en .bashrc,
fuente
Usando cerveza
Lo instalé usando
brew.Cuando haya terminado, si ejecuta este comando de preparación, mostrará la siguiente información:
Las piezas importantes son estas líneas:
Configurando el entorno de GO
Eso muestra dónde se instaló GO. Necesitamos hacer lo siguiente para configurar el entorno de GO:
Luego puede verificar con GO para ver si está configurado correctamente:
Configurando json2csv
Se ve bien, así que vamos a instalar
json2csv:¿Lo que acaba de suceder? Lo instaló. Puedes marcar así:
OK, entonces ¿por qué no puedo escribir
json2csvmi shell? Eso es porque el/bindirectorio debajo$GOPATHno está en tu$PATH.Así que vamos a agregarlo temporalmente:
Y vuelva a verificar:
Ahora está ahí:
Agregue las modificaciones que hemos realizado en
$PATHy$GOPATHpara$HOME/.bash_profileque persistan entre reinicios.fuente
Ver un video
En general, siempre recomiendo este video oficial de Go para obtener una visión general rápida sobre el asunto:
http://www.youtube.com/watch?v=XCsL89YtqCs
Es más fácil ser mostrado que ser contado.
@jwfearn parafraseó la parte importante del video:
fuente
Me resultó más fácil hacerlo así:
fuente
Para MAC esto funcionó bien para mí.
y agregue el siguiente al final del archivo
Esto debería solucionar el problema. Intente abrir una nueva terminal y haga eco de $ GOPATH, debería ver el valor correcto.
fuente
(para Mac)
Intenté todas estas respuestas y, por alguna razón aún desconocida, ninguna funcionó.
Tuve que "forzar la alimentación" del GOPATH configurando la variable de entorno por cada comando que lo requería. Por ejemplo:
Incluso
glideme estaba dando elGOPATH not seterror. Lo resolví, nuevamente, mediante "alimentación forzada": probé todas estas respuestas y, por alguna razón aún desconocida, ninguna funcionó.Tuve que "forzar la alimentación" del GOPATH configurando la variable de entorno por cada comando que lo requería.
Espero que esto ayude a alguien.
fuente
Su
$GOROOTno debe ser configurado. Usted$GOPATHdebe ser fijado a$HOME/gopor tipificaciónexport $GOPATH=$HOME/goEscribe
export GOROOT=""para solucionar tu problema.fuente
Solo hazlo
export GOPATH="/whatever/you/like/your/GOPATH/to/be".fuente
Si se encuentra con este problema después de haberlo
$GOPATHconfigurado, puede ser porque lo está ejecutando con un shell no compatible. Estaba usandofishy no funcionó, lanzarlobashfuncionó bien.fuente
Puede usar la solución "exportar" tal como lo han sugerido otros usuarios. Me gustaría proporcionarle otra solución para su conveniencia permanente: puede usar cualquier ruta como GOPATH cuando ejecute los comandos Go.
En primer lugar, debe descargar una pequeña herramienta llamada
gost: https://github.com/byte16/gost/releases . Si usa ubuntu, puede descargar la versión de Linux ( https://github.com/byte16/gost/releases/download/v0.1.0/gost_linux_amd64.tar.gz ).Luego debe ejecutar los siguientes comandos para descomprimirlo:
Conseguirías un ejecutable
gost. Puede moverlo/usr/local/binpara un uso conveniente:Ejecute el siguiente comando para agregar la ruta que desea utilizar como GOPATH en el espacio de ruta que
gostmantiene. Es necesario darle a la ruta un nombre que usaría más adelante.Ejecute cualquier comando Go que desee en el formato:
Por ejemplo, desea ejecutar
go get github.com/go-sql-driver/mysqlcon/home/foobar/barGOPATH, simplemente hágalo de la siguiente manera:Le ayudaría a configurar el GOPATH y ejecutar el comando. Pero recuerde que ha agregado la ruta en
gostel espacio de ruta . Si está bajo cualquier nivel de subdirectorios de/home/foobar/bar, incluso puede ejecutar el siguiente comando que haría lo mismo para abreviar:gostes una herramienta simple de Go que puede ayudarlo a administrar GOPATHs y ejecutar comandos Go. Para obtener más detalles sobre cómo usarlo para ejecutar otros comandos Go, simplemente puede ejecutarlogost help goCmdName. Por ejemplo, desea saber másinstall, simplemente escriba las palabras a continuación en:También puede encontrar más detalles en el archivo README del proyecto: https://github.com/byte16/gost/blob/master/README.md
fuente
Ejecute 'go env' y vea hacia dónde apunta actualmente su GOPATH. Si cambia a ese directorio, su comando 'go get..etc' debería funcionar.
fuente
Este problema se me ocurrió en la frambuesa pi. Había iniciado sesión a través del cliente VNC. El problema persistió a pesar de configurar y exportar GOPATH. Luego ejecutó el comando "ir a buscar" sin sudo y funcionó perfectamente.
fuente
Tuve que ejecutar una aplicación como root (para abrir un servidor web en el puerto 80), esto me produjo el error, porque el usuario de sudo tiene un entorno diferente al usuario normal, por lo tanto, GOPATH no se configuró.
Si alguien más tiene este problema, agréguelo
-Eal comando, esto preservará el entorno del usuario.sudo -E go run main.goPara obtener más información, consulte la discusión aquí: Grupos de Google - Problema GOPATH
fuente