Software development

GOPATH, GOROOT, GOBIN, afinal o que são?

GOPATH, GOROOT, GOBIN, afinal o que são?

Se você está iniciando na jornada em desenvolvimento Golang, se deparou com algumas variáveis de ambiente utilizadas. Irei explicar de maneira simplista algumas delas:

GOROOT é a localização onde seu binário GO está instalado.

GOPATH especifica a localização top level de onde esta localizado todo o código fonte de seu projeto, conhecido como Workspace. Dentro do GOPATH, você terá a seguinte estrutura de subdiretórios:

src: Onde todo código fonte será armazenado pkg: Representa onde os pacotes compilados serão armazenados bin: Onde os binários produzidos e compilados serão armazenados.

GOBINdiretório em que o resultado do comando go install utilizará para armazenamento dos binários.

Caso utilize uma variante de Linux ou macOS, você pode configurar em seu ~/.profile ou ~/.zprofile(caso utilize ZSH) para algo como:

export GOROOT=/usr/local/go
export GOPATH=~/go
export GOBIN=${GOPATH}/bin
export PATH=${PATH}:/usr/local/bin/:${GOROOT}/bin:${GOBIN}