2012-09-20 27 views
8

¿Cuál es la mejor práctica para instalar paquetes (aquellos con go get...) en un directorio local?golang: instalar paquetes en un directorio local

Ejemplo: me gustaría probar el framework web Revel, pero no quiero desordenar mi instalación en el /usr/local/go.

Normalmente, diría sudo go get github.com/robfig/revel como está escrito en la página de inicio, pero que lo instalaría debajo de /usr/local/go/src/pkg/....

¿Hay una manera fácil de decir (por ejemplo) go get --local ... y tener el paquete en el directorio actual (sub)?

+0

Es difícil elegir qué respuesta aceptar. Por el momento solo jugué con 'GOPATH', así que la respuesta de @ keks es la que elegí, pero esto podría cambiar en el futuro :) – topskip

Respuesta

8

Puede exportar la variable env GOPATH. Para mí es . Esta carpeta tiene las subcarpetas bin, pkg y src, por lo que es igual a /usr/local/go. El dispositivo go -tool se descargará automáticamente, construirá e instalará paquetes en este directorio.

16

Para ampliar keks respuesta, puede actualizar su .bashrc a tener este aspecto

export GOROOT=/usr/local/go 
export GOPATH=~/workspace/me/go 
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin 

Ahora todos los paquetes instalados con go get son independientes de la distribución vez.

9

Es posible que desee considerar el uso de Go Version Manager (gvm).

Además de cambiar fácilmente entre las versiones Go, también le permite cambiar entre conjuntos de componentes ("espacios de trabajo").

En primer lugar se crea un conjunto

gvm pkgset create myproject 

y luego usarlo

gvm pkgset use myproject 

funciona como un encanto.

Cuestiones relacionadas