среда, 3 июля 2019 г.

Вспомогательные темы инструмента go: переменные среды окружения

go help environment

Команда go и инструменты, которые она вызывает, проверяют несколько различных переменных среды. Для многих из них вы можете увидеть значение по умолчанию в вашей системе, запустив 'go env NAME', где NAME - это имя переменной.

Переменные среды общего назначения:

GCCGO
    Команда gccgo для запуска 'go build -compiler=gccgo'.
GOARCH
    Архитектура или процессор, для которого компилируется 
    код. Примерами являются amd64, 386, arm, ppc64.
GOBIN
    Каталог, куда 'go install' установит команду.
GOCACHE
    Каталог, в котором команда go будет хранить 
    кешированную информацию для повторного
    использования в будущих сборках. 
GOFLAGS
    Разделенный пробелами список параметров -flag=value 
    для применения к go командам по умолчанию, 
    когда данный флаг известен текущей команде. 
    Флаги, перечисленные в командной строке применяются 
    после этого списка и, следовательно, переопределяют его.
GOOS
    Операционная система, для которой компилируется код.
    Примерами являются linux, darwin, windows, netbsd.
GOPATH
    Для более подробной информации: 'go help gopath'.
GOPROXY
    URL прокси Go модуля. См. 'go help goproxy'.
GORACE
    Опции для детектора гонки.
GOROOT
    Корень go дерева.
GOTMPDIR
    Каталог, куда команда go будет записывать
    временные исходные файлы, пакеты и бинарные файлы.

Каждая запись в списке GOFLAGS должна быть отдельным флагом. Поскольку записи разделены пробелами, значения флагов не должны содержать пробелов.

Переменные окружения для использования с cgo:

CC
    Команда, используемая для компиляции C кода.
CGO_ENABLED
    Поддерживается ли команда cgo. Либо 0, либо 1.
CGO_CFLAGS
    Флаги, которые cgo будет передавать компилятору 
    при компиляции С кода.
CGO_CFLAGS_ALLOW
    Регулярное выражение, указывающее дополнительные флаги, 
    чтобы разрешить им появиться в директивах 
    исходного кода #cgo CFLAGS.
    Не применяется к переменной среды CGO_CFLAGS.
CGO_CFLAGS_DISALLOW
    Регулярное выражение, указывающее флаги, 
    которые должны быть запрещены
    от появления в директивах #cgo CFLAGS исходного кода.
    Не применяется к переменной среды CGO_CFLAGS.
CGO_CPPFLAGS, CGO_CPPFLAGS_ALLOW, CGO_CPPFLAGS_DISALLOW
    Как CGO_CFLAGS, CGO_CFLAGS_ALLOW и CGO_CFLAGS_DISALLOW,
    но для препроцессора C.
CGO_CXXFLAGS, CGO_CXXFLAGS_ALLOW, CGO_CXXFLAGS_DISALLOW
    Как CGO_CFLAGS, CGO_CFLAGS_ALLOW и CGO_CFLAGS_DISALLOW,
    но для компилятора C++.
CGO_FFLAGS, CGO_FFLAGS_ALLOW, CGO_FFLAGS_DISALLOW
    Как CGO_CFLAGS, CGO_CFLAGS_ALLOW и CGO_CFLAGS_DISALLOW,
    но для компилятора Фортрана.
CGO_LDFLAGS, CGO_LDFLAGS_ALLOW, CGO_LDFLAGS_DISALLOW
    Как CGO_CFLAGS, CGO_CFLAGS_ALLOW и CGO_CFLAGS_DISALLOW,
    но для компоновщика (linker).
CXX
    Команда, используемая для компиляции C++ кода.
PKG_CONFIG
    Путь для pkg-config интрумента.
AR
    Команда, используемая для управления 
    библиотечными архивами, когда
    идет сборка с помощью компилятора gccgo.
    По умолчанию равна 'ar'.

Архитектурно-зависимые переменные среды:

GOARM
    Для GOARCH=arm - архитектура ARM, 
    для которой нужно скомпилировать.
    Допустимые значения: 5, 6, 7.
GO386
    Для GOARCH=386 - набор команд с плавающей запятой.
    Допустимые значения: 387, sse2.
GOMIPS
    Для GOARCH=mips{,le}, использовать ли инструкции 
    с плавающей запятой.
    Допустимые значения: 
    hardfloat (по умолчанию), softfloat.
GOMIPS64
    Для GOARCH = mips64{,le}, использовать ли инструкции 
    с плавающей запятой.
    Допустимые значения: 
    hardfloat (по умолчанию), softfloat.

Переменные среды специального назначения:

GCCGOTOOLDIR
    Если установлено, где найти инструменты gccgo, 
    такие как cgo.
    Значение по умолчанию основано на том, 
    как был настроен gccgo.
GOROOT_FINAL
    Корень установленного дерева Go, когда он
    установлен в месте, отличном от того, где он собран.
    Имена файлов в следах стека (stack traces) 
    переписываются из GOROOT в GOROOT_FINAL.
GO_EXTLINK_ENABLED
    Должен ли компоновщик использовать режим внешней ссылки
    при использовании -linkmode=auto с кодом, 
    который использует cgo.
    Установите 0, чтобы отключить режим внешней ссылки, 
    1, чтобы включить его.
GIT_ALLOW_PROTOCOL
    Определено Git. Список схем, разделенных двоеточиями, 
    которые разрешено использовать с git fetch/clone.
    Если установлено, любая схема, не упомянутая явно, 
    будет считается небезопасной для 'go get'.

Дополнительная информация, доступная из 'go env', но не считываемая из среды:

GOEXE
    Суффикс имени исполняемого файла 
    (".exe" в Windows, "" в других системах).
GOHOSTARCH
    Архитектура (GOARCH) исполняемых файлов Go.
GOHOSTOS
    Операционная система (GOOS) исполняемых файлов Go.
GOMOD
    Абсолютный путь к go.mod основного модуля,
    или пустая строка, если не используются модули.
GOTOOLDIR
    Каталог, в котором установлены инструменты go 
    (compile, cover, doc и т.д.).


Читайте также:


Комментариев нет:

Отправить комментарий