go env în Go

Comanda go, module și teste Go 1.0 (-w: Go 1.13)

Afișează (și opțional salvează) variabilele de mediu și setările folosite de unealta go.

Sintaxă
go env                  # toate variabilele
go env GOPATH GOOS      # doar unele
go env -json
go env -w NUME=valoare  # salvează o setare
go env -u NUME          # șterge setarea salvată

Ce face go env

go env afișează configurația cu care lucrează comanda go: unde este instalat Go (GOROOT), unde se păstrează modulele descărcate (GOMODCACHE) și programele instalate (GOPATH, GOBIN), sistemul țintă (GOOS, GOARCH), serverul de module (GOPROXY), dacă este activ cgo (CGO_ENABLED) și altele.

go env -w NUME=valoare salvează o setare pentru utilizatorul curent (în fișierul indicat de go env GOENV), ca să nu mai fie nevoie de variabile de mediu. De exemplu, go env -w GOPRIVATE=gitlab.firma.ro spune ca modulele firmei să fie descărcate direct, nu prin proxy-ul public. go env -u anulează o setare salvată.

Parametri

Parametru Descriere
NUME... Afișează doar variabilele date, câte una pe rând.
-json Afișează în format JSON.
-w / -u Salvează / șterge o setare.

Exemple

Exemplul 1: Câteva variabile importante

go env GOPATH GOROOT GOOS GOARCH GOMODCACHE CGO_ENABLED GOVERSION

Rezultat în terminal

/home/ana/go
/usr/local/go
linux
amd64
/home/ana/go/pkg/mod
1
go1.27.2

Exemplul 2: Salvarea unei setări

go env -w GOPRIVATE=gitlab.firma.ro
go env GOPRIVATE
go env -u GOPRIVATE
go env GOPRIVATE

Rezultat în terminal

gitlab.firma.ro

Greșeli frecvente

  • go env -w GOOS=windows pentru o singură compilare: rămâne salvat și afectează toate comenzile. Folosește GOOS=windows go build.
  • Setarea lui GOPATH egal cu directorul proiectului (obicei din Go vechi): cu module nu mai este necesar.

Comenzi înrudite

  • go build: Compilează pachetele și, pentru pachetul main, creează un executabil de sine stătător.
  • go install: Compilează un program și pune executabilul în directorul bin (GOBIN sau GOPATH/bin), ca să-l poți rula de oriunde.
  • go version: Afișează versiunea Go instalată sau versiunea cu care a fost compilat un executabil.