設定@Go¶
はじめに¶
本サイトにつきまして、以下をご認識のほど宜しくお願いいたします。
環境変数¶
一覧¶
$ go env
GO111MODULE="on"
GOARCH="amd64"
GOBIN=""
GOCACHE="/root/.cache/go-build"
GOENV="/root/.config/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOINSECURE=""
GOMODCACHE="/go/pkg/mod"
GONOPROXY=""
GONOSUMDB=""
GOOS="linux"
GOPATH="$HOME/go"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/local/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
GCCGO="gccgo"
AR="ar"
CC="gcc"
CXX="g++"
CGO_ENABLED="0"
GOMOD="/go/src/go.mod"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build887404645=/tmp/go-build -gno-record-gcc-switches"
CGO_ENABLED
¶
c言語製のパッケージの有効化する。
無効化しておかないと、vet
コマンドが失敗する。
GO111MODULE
¶
go.mod
ファイルを有効化する。
GOARCH
¶
バイナリの対象CPUアーキテクチャを設定する。
Goはクロスコンパイル機能をもっており、Goが稼働するOSやCPUアーキテクチャとは関係なく、様々なOSやCPUアーキテクチャに対応するバイナリを作成できる。
GOBIN
¶
go install
コマンドによるアーティファクトを配置する場所を設定する。
指定がない場合、$GOPATH/bin
になる。
GOHOSTOS
¶
コンパイラが実行されるOSを設定する。
GOPATH
¶
Goのファイルを管理するパスを設定する。
パスは好みであるが、$HOME/go
とすることが多い。
ローカルマシンで仮想環境を使用せずにGoのアプリを直接的にビルドする場合、プロジェクトを`GOPATH配下に配置しなければならない。
$GOPATH/ # 例えば、『$HOME/go』とする。
├── bin/
└── pkg/
└── mod/
└── github
├── foo-package@v1.0/
└── foo-package@v2.0/
GOROOT
¶
複数のバージョンのGoを管理できるようになる。