management how govendor gopkg golang ensure dependency dep go

how - govendor



¿Qué hace go install? (1)

Los documentos no dicen nada acerca de lo que la build vs install hace

Mi expectativa era que es como make install ; es decir, toma las cosas compiladas y las coloca en su ubicación final ( /usr/local/bin/my_new_toy o lo que sea) pero parece que pone cosas en GOROOT/bin

¿Puedo decirle que vaya a hacer una make install - es decir, poner cosas en otro lugar? ¿O simplemente escribo un makefile (por favor dígame no)?


Si desea que los archivos binarios vayan a una ubicación específica, puede usar la variable de entorno GOBIN :

El directorio bin / contiene comandos compilados. Cada comando se nombra por su directorio de origen, pero solo el elemento final, no la ruta completa. Es decir, el comando con fuente en DIR / src / foo / quux se instala en DIR / bin / quux, no en DIR / bin / foo / quux. El foo / se elimina para que pueda agregar DIR / bin a su PATH para obtener los comandos instalados. Si la variable de entorno GOBIN está establecida, los comandos se instalan en el directorio que nombra en lugar de DIR / bin.

Fuente: http://golang.org/cmd/go/#hdr-GOPATH_environment_variable

GOBIN=/usr/local/bin/ go install

Si desea el directorio bin/ proyecto por proyecto, simplemente puede agregar la ruta de su proyecto a GOPATH , sin embargo, debe tener su código en $project-path/src/ y go install colocará todos los archivos binarios en $project-path/bin .

export GOPATH=/dir1:/dir2:/dir3

Si no se establece GOBIN, los binarios de / dir1 / src terminan en / dir1 / bin, los binarios de / dir2 / src terminan en / dir2 / bin, y así sucesivamente (y los binarios de $ GOROOT / src terminan en $ GOROOT /compartimiento).

Fuente: https://groups.google.com/forum/#!topic/golang-nuts/-mN8R_Fx-7M

Y se me cruzó por completo, pero siempre puedes usar (gracias JimB):

go build -o /path/binary-name