Golang environments: Difference between revisions

From wikinotes
No edit summary
No edit summary
 
Line 1: Line 1:
Go uses a small number of environment variables to configure builds, modules.<br>
Go uses a small number of environment variables to configure builds, modules.<br>
Modules are explicit/sealed off, there isn't much of a case for tools like nix.
Modules are explicit/sealed off, there isn't much of a case for tools like nix unless you're using extensions or alternative compilers.


= Documentation =
= Documentation =

Latest revision as of 03:58, 20 June 2022

Go uses a small number of environment variables to configure builds, modules.
Modules are explicit/sealed off, there isn't much of a case for tools like nix unless you're using extensions or alternative compilers.

Documentation

environment variables https://pkg.go.dev/cmd/go#hdr-Environment_variables

Locations

~/.config/go/env 'go env' set environment variables

Environment Variables

A small subset of useful environment variables.

GOPATH=
GOBIN=~/go/bin                               # where go installed executables should go

GOPROXY=

private/privacy options

# packages that should not be indexed publicly
# (reused by GONOPROXY, GONOSUMDB if they are not set)
GOPRIVATE=*.corp.example.com,rsc.io/private
GONOPROXY=*.corp.example.com,rsc.io/private
GONOSUMDB=*.corp.example.com,rsc.io/private

Go Env

go env lets you set/persist go environment variables.
They will be loaded in new shells automatically.

go env -w GOBIN=/foo/bar/bin  # set default envvar val within environment
go env -u GOBIN               # unset environment variable set by 'go env'