Golang environments: Difference between revisions

From wikinotes
No edit summary
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
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 unless you're using extensions or alternative compilers.


= Documentation =
= Documentation =
Line 25: Line 27:
GOBIN=~/go/bin                              # where go installed executables should go
GOBIN=~/go/bin                              # where go installed executables should go


GOPRIVATE=*.corp.example.com,rsc.io/private  # packages that should not be indexed publicly
GOPROXY=
GOPROXY=
</syntaxhighlight>
private/privacy options
<syntaxhighlight lang="bash">
# 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
</syntaxhighlight>
</syntaxhighlight>
</blockquote><!-- Environment Variables -->
</blockquote><!-- Environment Variables -->

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'